home *** CD-ROM | disk | FTP | other *** search
Emacs Compiled Lisp | 1998-05-21 | 25.9 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Emacs Compiled Lisp
(other/emacsCompiledLisp).
This format is not currently supported by dexvert.
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 14 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 75 73 74 69 6e 62 |piled by| justinb|
|00000020| 40 65 62 6f 6e 79 2e 63 | 72 61 79 2e 63 6f 6d 20 |@ebony.c|ray.com |
|00000030| 6f 6e 20 4d 6f 6e 20 4d | 61 72 20 20 39 20 31 32 |on Mon M|ar 9 12|
|00000040| 3a 35 36 3a 30 33 20 31 | 39 39 38 0a 3b 3b 3b 20 |:56:03 1|998.;;; |
|00000050| 66 72 6f 6d 20 66 69 6c | 65 20 2f 68 6f 6d 65 2f |from fil|e /home/|
|00000060| 61 73 70 65 6e 30 37 2f | 6a 75 73 74 69 6e 62 2f |aspen07/|justinb/|
|00000070| 72 6f 6f 74 73 2f 66 72 | 65 65 77 61 72 65 2f 78 |roots/fr|eeware/x|
|00000080| 65 6d 61 63 73 2f 32 30 | 2e 33 2f 78 65 6d 61 63 |emacs/20|.3/xemac|
|00000090| 73 2d 32 30 2e 33 2f 6c | 69 73 70 2f 75 74 69 6c |s-20.3/l|isp/util|
|000000a0| 73 2f 70 68 2e 65 6c 0a | 3b 3b 3b 20 65 6d 61 63 |s/ph.el.|;;; emac|
|000000b0| 73 20 76 65 72 73 69 6f | 6e 20 32 30 2e 34 20 22 |s versio|n 20.4 "|
|000000c0| 45 6d 65 72 61 6c 64 22 | 20 58 45 6d 61 63 73 20 |Emerald"| XEmacs |
|000000d0| 20 4c 75 63 69 64 2e 0a | 3b 3b 3b 20 62 79 74 65 | Lucid..|;;; byte|
|000000e0| 63 6f 6d 70 20 76 65 72 | 73 69 6f 6e 20 32 2e 32 |comp ver|sion 2.2|
|000000f0| 35 20 58 45 6d 61 63 73 | 3b 20 32 32 2d 4d 61 72 |5 XEmacs|; 22-Mar|
|00000100| 2d 39 36 2e 0a 3b 3b 3b | 20 6f 70 74 69 6d 69 7a |-96..;;;| optimiz|
|00000110| 61 74 69 6f 6e 20 69 73 | 20 6f 6e 2e 0a 3b 3b 3b |ation is| on..;;;|
|00000120| 20 74 68 69 73 20 66 69 | 6c 65 20 75 73 65 73 20 | this fi|le uses |
|00000130| 6f 70 63 6f 64 65 73 20 | 77 68 69 63 68 20 64 6f |opcodes |which do|
|00000140| 20 6e 6f 74 20 65 78 69 | 73 74 20 69 6e 20 45 6d | not exi|st in Em|
|00000150| 61 63 73 20 31 39 2e 0a | 0a 28 69 66 20 28 61 6e |acs 19..|.(if (an|
|00000160| 64 20 28 62 6f 75 6e 64 | 70 20 27 65 6d 61 63 73 |d (bound|p 'emacs|
|00000170| 2d 76 65 72 73 69 6f 6e | 29 0a 09 20 28 6f 72 20 |-version|).. (or |
|00000180| 28 61 6e 64 20 28 62 6f | 75 6e 64 70 20 27 65 70 |(and (bo|undp 'ep|
|00000190| 6f 63 68 3a 3a 76 65 72 | 73 69 6f 6e 29 20 65 70 |och::ver|sion) ep|
|000001a0| 6f 63 68 3a 3a 76 65 72 | 73 69 6f 6e 29 0a 09 20 |och::ver|sion).. |
|000001b0| 20 20 20 20 28 73 74 72 | 69 6e 67 2d 6c 65 73 73 | (str|ing-less|
|000001c0| 70 20 65 6d 61 63 73 2d | 76 65 72 73 69 6f 6e 20 |p emacs-|version |
|000001d0| 22 32 30 22 29 29 29 0a | 20 20 20 20 28 65 72 72 |"20"))).| (err|
|000001e0| 6f 72 20 22 60 70 68 2e | 65 6c 27 20 77 61 73 20 |or "`ph.|el' was |
|000001f0| 63 6f 6d 70 69 6c 65 64 | 20 66 6f 72 20 45 6d 61 |compiled| for Ema|
|00000200| 63 73 20 32 30 22 29 29 | 0a 0a 28 6f 72 20 28 62 |cs 20"))|..(or (b|
|00000210| 6f 75 6e 64 70 20 27 63 | 75 72 72 65 6e 74 2d 6c |oundp 'c|urrent-l|
|00000220| 6f 61 64 2d 6c 69 73 74 | 29 20 28 73 65 74 71 20 |oad-list|) (setq |
|00000230| 63 75 72 72 65 6e 74 2d | 6c 6f 61 64 2d 6c 69 73 |current-|load-lis|
|00000240| 74 20 6e 69 6c 29 29 0a | 0a 0a 28 62 79 74 65 2d |t nil)).|..(byte-|
|00000250| 63 6f 64 65 20 22 c0 c1 | 21 88 c0 c2 21 88 c3 c4 |code "..|!...!...|
|00000260| 21 ac 84 c0 c5 21 88 c6 | c7 21 ab 84 c0 c8 21 88 |!....!..|.!....!.|
|00000270| c9 ca cb 5c 22 88 c9 cc | cd 5c 22 88 c9 ce cd 5c |...\"...|.\"....\|
|00000280| 22 88 c9 cf d0 5c 22 88 | d1 d2 d3 d4 d5 d6 d5 d7 |"....\".|........|
|00000290| 26 07 87 22 20 5b 72 65 | 71 75 69 72 65 20 77 69 |&.." [re|quire wi|
|000002a0| 64 2d 65 64 69 74 20 63 | 75 73 74 6f 6d 20 66 62 |d-edit c|ustom fb|
|000002b0| 6f 75 6e 64 70 20 6d 61 | 6b 65 2d 6f 76 65 72 6c |oundp ma|ke-overl|
|000002c0| 61 79 20 6f 76 65 72 6c | 61 79 20 6c 6f 63 61 74 |ay overl|ay locat|
|000002d0| 65 2d 6c 69 62 72 61 72 | 79 20 22 74 69 6d 65 72 |e-librar|y "timer|
|000002e0| 22 20 74 69 6d 65 72 20 | 61 75 74 6f 6c 6f 61 64 |" timer |autoload|
|000002f0| 20 63 75 73 74 6f 6d 2d | 6d 65 6e 75 2d 63 72 65 | custom-|menu-cre|
|00000300| 61 74 65 20 22 63 75 73 | 2d 65 64 69 74 22 20 62 |ate "cus|-edit" b|
|00000310| 62 64 62 2d 63 72 65 61 | 74 65 2d 69 6e 74 65 72 |bdb-crea|te-inter|
|00000320| 6e 61 6c 20 22 62 62 64 | 62 2d 63 6f 6d 22 20 62 |nal "bbd|b-com" b|
|00000330| 62 64 62 2d 70 61 72 73 | 65 2d 70 68 6f 6e 65 2d |bdb-pars|e-phone-|
|00000340| 6e 75 6d 62 65 72 20 62 | 62 64 62 2d 64 69 73 70 |number b|bdb-disp|
|00000350| 6c 61 79 2d 72 65 63 6f | 72 64 73 20 22 62 62 64 |lay-reco|rds "bbd|
|00000360| 62 22 20 63 75 73 74 6f | 6d 2d 64 65 63 6c 61 72 |b" custo|m-declar|
|00000370| 65 2d 67 72 6f 75 70 20 | 70 68 20 6e 69 6c 20 22 |e-group |ph nil "|
|00000380| 43 43 53 4f 20 28 50 48 | 2f 51 49 29 20 64 69 72 |CCSO (PH|/QI) dir|
|00000390| 65 63 74 6f 72 79 20 73 | 79 73 74 65 6d 20 63 6c |ectory s|ystem cl|
|000003a0| 69 65 6e 74 22 20 3a 67 | 72 6f 75 70 20 6d 61 69 |ient" :g|roup mai|
|000003b0| 6c 20 63 6f 6d 6d 5d 20 | 38 29 0a 28 63 75 73 74 |l comm] |8).(cust|
|000003c0| 6f 6d 2d 64 65 63 6c 61 | 72 65 2d 76 61 72 69 61 |om-decla|re-varia|
|000003d0| 62 6c 65 20 27 70 68 2d | 73 65 72 76 65 72 20 27 |ble 'ph-|server '|
|000003e0| 6e 69 6c 20 22 2a 54 68 | 65 20 6e 61 6d 65 20 6f |nil "*Th|e name o|
|000003f0| 72 20 49 50 20 61 64 64 | 72 65 73 73 20 6f 66 20 |r IP add|ress of |
|00000400| 74 68 65 20 43 43 53 4f | 20 28 50 48 2f 51 49 29 |the CCSO| (PH/QI)|
|00000410| 20 73 65 72 76 65 72 2e | 5c 6e 41 20 70 6f 72 74 | server.|\nA port|
|00000420| 20 6e 75 6d 62 65 72 20 | 6d 61 79 20 62 65 20 73 | number |may be s|
|00000430| 70 65 63 69 66 69 65 64 | 20 62 79 20 61 70 70 65 |pecified| by appe|
|00000440| 6e 64 69 6e 67 20 61 20 | 63 6f 6c 6f 6e 20 61 6e |nding a |colon an|
|00000450| 64 20 61 5c 6e 6e 75 6d | 62 65 72 20 74 6f 20 74 |d a\nnum|ber to t|
|00000460| 68 65 20 6e 61 6d 65 20 | 6f 66 20 74 68 65 20 73 |he name |of the s|
|00000470| 65 72 76 65 72 2e 22 20 | 3a 74 79 70 65 20 27 28 |erver." |:type '(|
|00000480| 73 74 72 69 6e 67 20 3a | 74 61 67 20 22 53 65 72 |string :|tag "Ser|
|00000490| 76 65 72 22 29 20 3a 67 | 72 6f 75 70 20 27 70 68 |ver") :g|roup 'ph|
|000004a0| 29 0a 28 63 75 73 74 6f | 6d 2d 64 65 63 6c 61 72 |).(custo|m-declar|
|000004b0| 65 2d 76 61 72 69 61 62 | 6c 65 20 27 70 68 2d 73 |e-variab|le 'ph-s|
|000004c0| 74 72 69 63 74 2d 72 65 | 74 75 72 6e 2d 6d 61 74 |trict-re|turn-mat|
|000004d0| 63 68 65 73 20 27 74 20 | 22 2a 49 66 20 6e 6f 6e |ches 't |"*If non|
|000004e0| 2d 6e 69 6c 2c 20 65 6e | 74 72 69 65 73 20 74 68 |-nil, en|tries th|
|000004f0| 61 74 20 64 6f 20 6e 6f | 74 20 63 6f 6e 74 61 69 |at do no|t contai|
|00000500| 6e 20 61 6c 6c 20 74 68 | 65 20 72 65 71 75 65 73 |n all th|e reques|
|00000510| 74 65 64 20 72 65 74 75 | 72 6e 20 66 69 65 6c 64 |ted retu|rn field|
|00000520| 73 20 61 72 65 20 69 67 | 6e 6f 72 65 64 2e 22 20 |s are ig|nored." |
|00000530| 3a 74 79 70 65 20 27 62 | 6f 6f 6c 65 61 6e 20 3a |:type 'b|oolean :|
|00000540| 67 72 6f 75 70 20 27 70 | 68 29 0a 28 63 75 73 74 |group 'p|h).(cust|
|00000550| 6f 6d 2d 64 65 63 6c 61 | 72 65 2d 76 61 72 69 61 |om-decla|re-varia|
|00000560| 62 6c 65 20 27 70 68 2d | 64 65 66 61 75 6c 74 2d |ble 'ph-|default-|
|00000570| 72 65 74 75 72 6e 2d 66 | 69 65 6c 64 73 20 27 6e |return-f|ields 'n|
|00000580| 69 6c 20 22 2a 41 20 6c | 69 73 74 20 6f 66 20 74 |il "*A l|ist of t|
|00000590| 68 65 20 64 65 66 61 75 | 6c 74 20 66 69 65 6c 64 |he defau|lt field|
|000005a0| 73 20 74 6f 20 65 78 74 | 72 61 63 74 20 66 72 6f |s to ext|ract fro|
|000005b0| 6d 20 43 43 53 4f 20 65 | 6e 74 72 69 65 73 2e 5c |m CCSO e|ntries.\|
|000005c0| 6e 49 66 20 69 74 20 63 | 6f 6e 74 61 69 6e 73 20 |nIf it c|ontains |
|000005d0| 60 61 6c 6c 27 20 74 68 | 65 6e 20 61 6c 6c 20 61 |`all' th|en all a|
|000005e0| 76 61 69 6c 61 62 6c 65 | 20 66 69 65 6c 64 73 20 |vailable| fields |
|000005f0| 61 72 65 20 72 65 74 75 | 72 6e 65 64 2e 5c 6e 6e |are retu|rned.\nn|
|00000600| 69 6c 20 6d 65 61 6e 73 | 20 72 65 74 75 72 6e 20 |il means| return |
|00000610| 74 68 65 20 64 65 66 61 | 75 6c 74 20 66 69 65 6c |the defa|ult fiel|
|00000620| 64 73 20 61 73 20 63 6f | 6e 66 69 67 75 72 65 64 |ds as co|nfigured|
|00000630| 20 69 6e 20 74 68 65 20 | 73 65 72 76 65 72 2e 22 | in the |server."|
|00000640| 20 3a 74 79 70 65 20 27 | 28 72 65 70 65 61 74 20 | :type '|(repeat |
|00000650| 28 73 79 6d 62 6f 6c 20 | 3a 74 61 67 20 22 46 69 |(symbol |:tag "Fi|
|00000660| 65 6c 64 20 6e 61 6d 65 | 22 29 29 20 3a 67 72 6f |eld name|")) :gro|
|00000670| 75 70 20 27 70 68 29 0a | 28 63 75 73 74 6f 6d 2d |up 'ph).|(custom-|
|00000680| 64 65 63 6c 61 72 65 2d | 76 61 72 69 61 62 6c 65 |declare-|variable|
|00000690| 20 27 70 68 2d 6d 75 6c | 74 69 70 6c 65 2d 6d 61 | 'ph-mul|tiple-ma|
|000006a0| 74 63 68 2d 68 61 6e 64 | 6c 69 6e 67 2d 6d 65 74 |tch-hand|ling-met|
|000006b0| 68 6f 64 20 27 27 73 65 | 6c 65 63 74 20 22 2a 57 |hod ''se|lect "*W|
|000006c0| 68 61 74 20 74 6f 20 64 | 6f 20 77 68 65 6e 20 6d |hat to d|o when m|
|000006d0| 75 6c 74 69 70 6c 65 20 | 65 6e 74 72 69 65 73 20 |ultiple |entries |
|000006e0| 6d 61 74 63 68 20 61 20 | 71 75 65 72 79 20 66 6f |match a |query fo|
|000006f0| 72 20 61 6e 20 69 6e 6c | 69 6e 65 20 65 78 70 61 |r an inl|ine expa|
|00000700| 6e 73 69 6f 6e 2e 5c 6e | 50 6f 73 73 69 62 6c 65 |nsion.\n|Possible|
|00000710| 20 76 61 6c 75 65 73 20 | 61 72 65 3a 20 5c 6e 60 | values |are: \n`|
|00000720| 66 69 72 73 74 27 20 28 | 65 71 75 69 76 61 6c 65 |first' (|equivale|
|00000730| 6e 74 20 74 6f 20 6e 69 | 6c 29 20 77 68 69 63 68 |nt to ni|l) which|
|00000740| 20 6d 65 61 6e 73 20 63 | 6f 6e 73 69 64 65 72 20 | means c|onsider |
|00000750| 74 68 65 20 66 69 72 73 | 74 20 6d 61 74 63 68 2e |the firs|t match.|
|00000760| 5c 6e 60 73 65 6c 65 63 | 74 27 20 70 6f 70 2d 75 |\n`selec|t' pop-u|
|00000770| 70 20 61 20 73 65 6c 65 | 63 74 69 6f 6e 20 62 75 |p a sele|ction bu|
|00000780| 66 66 65 72 5c 6e 60 61 | 6c 6c 27 20 75 73 65 20 |ffer\n`a|ll' use |
|00000790| 61 6c 6c 20 6d 61 74 63 | 68 65 73 5c 6e 60 61 62 |all matc|hes\n`ab|
|000007a0| 6f 72 74 27 20 74 68 65 | 20 6f 70 65 72 61 74 69 |ort' the| operati|
|000007b0| 6f 6e 20 69 73 20 61 62 | 6f 72 74 65 64 2c 20 61 |on is ab|orted, a|
|000007c0| 6e 20 65 72 72 6f 72 20 | 69 73 20 73 69 67 6e 61 |n error |is signa|
|000007d0| 6c 65 64 22 20 3a 74 79 | 70 65 20 27 28 63 68 6f |led" :ty|pe '(cho|
|000007e0| 69 63 65 20 3a 6d 65 6e | 75 2d 74 61 67 20 22 4d |ice :men|u-tag "M|
|000007f0| 65 74 68 6f 64 22 20 28 | 63 6f 6e 73 74 20 3a 6d |ethod" (|const :m|
|00000800| 65 6e 75 2d 74 61 67 20 | 22 46 69 72 73 74 22 20 |enu-tag |"First" |
|00000810| 66 69 72 73 74 29 20 28 | 63 6f 6e 73 74 20 3a 6d |first) (|const :m|
|00000820| 65 6e 75 2d 74 61 67 20 | 22 53 65 6c 65 63 74 22 |enu-tag |"Select"|
|00000830| 20 73 65 6c 65 63 74 29 | 20 28 63 6f 6e 73 74 20 | select)| (const |
|00000840| 3a 6d 65 6e 75 2d 74 61 | 67 20 22 41 6c 6c 22 20 |:menu-ta|g "All" |
|00000850| 61 6c 6c 29 20 28 63 6f | 6e 73 74 20 3a 6d 65 6e |all) (co|nst :men|
|00000860| 75 2d 74 61 67 20 22 41 | 62 6f 72 74 22 20 61 62 |u-tag "A|bort" ab|
|00000870| 6f 72 74 29 20 28 63 6f | 6e 73 74 20 3a 6d 65 6e |ort) (co|nst :men|
|00000880| 75 2d 74 61 67 20 22 4e | 6f 6e 65 22 20 6e 69 6c |u-tag "N|one" nil|
|00000890| 29 29 20 3a 67 72 6f 75 | 70 20 27 70 68 29 0a 28 |)) :grou|p 'ph).(|
|000008a0| 63 75 73 74 6f 6d 2d 64 | 65 63 6c 61 72 65 2d 76 |custom-d|eclare-v|
|000008b0| 61 72 69 61 62 6c 65 20 | 27 70 68 2d 64 75 70 6c |ariable |'ph-dupl|
|000008c0| 69 63 61 74 65 2d 66 69 | 65 6c 64 73 2d 68 61 6e |icate-fi|elds-han|
|000008d0| 64 6c 69 6e 67 2d 6d 65 | 74 68 6f 64 20 27 27 28 |dling-me|thod ''(|
|000008e0| 28 65 6d 61 69 6c 20 2e | 20 64 75 70 6c 69 63 61 |(email .| duplica|
|000008f0| 74 65 29 29 20 22 2a 41 | 20 6d 65 74 68 6f 64 20 |te)) "*A| method |
|00000900| 74 6f 20 68 61 6e 64 6c | 65 20 65 6e 74 72 69 65 |to handl|e entrie|
|00000910| 73 20 63 6f 6e 74 61 69 | 6e 69 6e 67 20 64 75 70 |s contai|ning dup|
|00000920| 6c 69 63 61 74 65 20 66 | 69 65 6c 64 73 2e 5c 6e |licate f|ields.\n|
|00000930| 54 68 69 73 20 69 73 20 | 65 69 74 68 65 72 20 61 |This is |either a|
|00000940| 6e 20 61 6c 69 73 74 20 | 28 46 49 45 4c 44 20 2e |n alist |(FIELD .|
|00000950| 20 4d 45 54 48 4f 44 29 | 20 6f 72 20 61 20 73 79 | METHOD)| or a sy|
|00000960| 6d 62 6f 6c 20 4d 45 54 | 48 4f 44 2e 5c 6e 54 68 |mbol MET|HOD.\nTh|
|00000970| 65 20 61 6c 69 73 74 20 | 66 6f 72 6d 20 6f 66 20 |e alist |form of |
|00000980| 74 68 65 20 76 61 72 69 | 61 62 6c 65 20 61 73 73 |the vari|able ass|
|00000990| 6f 63 69 61 74 65 73 20 | 61 20 6d 65 74 68 6f 64 |ociates |a method|
|000009a0| 20 74 6f 20 61 6e 20 69 | 6e 64 69 76 69 64 75 61 | to an i|ndividua|
|000009b0| 6c 20 66 69 65 6c 64 2c | 5c 6e 74 68 65 20 73 65 |l field,|\nthe se|
|000009c0| 63 6f 6e 64 20 66 6f 72 | 6d 20 73 70 65 63 69 66 |cond for|m specif|
|000009d0| 69 65 73 20 61 20 6d 65 | 74 68 6f 64 20 61 70 70 |ies a me|thod app|
|000009e0| 6c 69 63 61 62 6c 65 20 | 74 6f 20 61 6c 6c 20 66 |licable |to all f|
|000009f0| 69 65 6c 64 73 2e 5c 6e | 41 76 61 69 6c 61 62 6c |ields.\n|Availabl|
|00000a00| 65 20 6d 65 74 68 6f 64 | 73 20 61 72 65 3a 5c 6e |e method|s are:\n|
|00000a10| 60 6c 69 73 74 27 20 6f | 72 20 6e 69 6c 20 6c 65 |`list' o|r nil le|
|00000a20| 74 73 20 74 68 65 20 76 | 61 6c 75 65 20 6f 66 20 |ts the v|alue of |
|00000a30| 74 68 65 20 66 69 65 6c | 64 20 62 65 20 61 20 6c |the fiel|d be a l|
|00000a40| 69 73 74 20 6f 66 20 76 | 61 6c 75 65 73 5c 6e 60 |ist of v|alues\n`|
|00000a50| 66 69 72 73 74 27 20 6b | 65 65 70 73 20 74 68 65 |first' k|eeps the|
|00000a60| 20 66 69 72 73 74 20 76 | 61 6c 75 65 20 61 6e 64 | first v|alue and|
|00000a70| 20 64 69 73 63 61 72 64 | 73 20 74 68 65 20 6f 74 | discard|s the ot|
|00000a80| 68 65 72 73 2c 5c 6e 60 | 63 6f 6e 63 61 74 27 20 |hers,\n`|concat' |
|00000a90| 63 6f 6e 63 61 74 65 6e | 61 74 65 73 20 74 68 65 |concaten|ates the|
|00000aa0| 20 76 61 6c 75 65 73 20 | 69 6e 74 6f 20 61 20 73 | values |into a s|
|00000ab0| 69 6e 67 6c 65 20 6d 75 | 6c 74 69 6c 69 6e 65 20 |ingle mu|ltiline |
|00000ac0| 73 74 72 69 6e 67 2c 5c | 6e 60 64 75 70 6c 69 63 |string,\|n`duplic|
|00000ad0| 61 74 65 27 20 64 75 70 | 6c 69 63 61 74 65 73 20 |ate' dup|licates |
|00000ae0| 74 68 65 20 65 6e 74 69 | 72 65 20 65 6e 74 72 79 |the enti|re entry|
|00000af0| 20 69 6e 74 6f 20 61 73 | 20 6d 61 6e 79 20 69 6e | into as| many in|
|00000b00| 73 74 61 6e 63 65 73 20 | 61 73 20 5c 6e 64 69 66 |stances |as \ndif|
|00000b10| 66 65 72 65 6e 74 20 76 | 61 6c 75 65 73 2e 22 20 |ferent v|alues." |
|00000b20| 3a 74 79 70 65 20 27 28 | 63 68 6f 69 63 65 20 28 |:type '(|choice (|
|00000b30| 63 6f 6e 73 74 20 3a 6d | 65 6e 75 2d 74 61 67 20 |const :m|enu-tag |
|00000b40| 22 4c 69 73 74 22 20 6c | 69 73 74 29 20 28 63 6f |"List" l|ist) (co|
|00000b50| 6e 73 74 20 3a 6d 65 6e | 75 2d 74 61 67 20 22 46 |nst :men|u-tag "F|
|00000b60| 69 72 73 74 22 20 66 69 | 72 73 74 29 20 28 63 6f |irst" fi|rst) (co|
|00000b70| 6e 73 74 20 3a 6d 65 6e | 75 2d 74 61 67 20 22 43 |nst :men|u-tag "C|
|00000b80| 6f 6e 63 61 74 22 20 63 | 6f 6e 63 61 74 29 20 28 |oncat" c|oncat) (|
|00000b90| 63 6f 6e 73 74 20 3a 6d | 65 6e 75 2d 74 61 67 20 |const :m|enu-tag |
|00000ba0| 22 44 75 70 6c 69 63 61 | 74 65 22 20 64 75 70 6c |"Duplica|te" dupl|
|00000bb0| 69 63 61 74 65 29 20 28 | 72 65 70 65 61 74 20 3a |icate) (|repeat :|
|00000bc0| 6d 65 6e 75 2d 74 61 67 | 20 22 50 65 72 20 46 69 |menu-tag| "Per Fi|
|00000bd0| 65 6c 64 20 53 70 65 63 | 69 66 69 63 61 74 69 6f |eld Spec|ificatio|
|00000be0| 6e 22 20 3a 74 61 67 20 | 22 50 65 72 20 46 69 65 |n" :tag |"Per Fie|
|00000bf0| 6c 64 20 53 70 65 63 69 | 66 69 63 61 74 69 6f 6e |ld Speci|fication|
|00000c00| 22 20 28 63 6f 6e 73 20 | 3a 74 61 67 20 22 46 69 |" (cons |:tag "Fi|
|00000c10| 65 6c 64 2f 4d 65 74 68 | 6f 64 22 20 3a 76 61 6c |eld/Meth|od" :val|
|00000c20| 75 65 20 28 6e 69 6c 20 | 2e 20 6c 69 73 74 29 20 |ue (nil |. list) |
|00000c30| 28 73 79 6d 62 6f 6c 20 | 3a 74 61 67 20 22 46 69 |(symbol |:tag "Fi|
|00000c40| 65 6c 64 20 6e 61 6d 65 | 22 29 20 28 63 68 6f 69 |eld name|") (choi|
|00000c50| 63 65 20 3a 74 61 67 20 | 22 4d 65 74 68 6f 64 22 |ce :tag |"Method"|
|00000c60| 20 3a 6d 65 6e 75 2d 74 | 61 67 20 22 4d 65 74 68 | :menu-t|ag "Meth|
|00000c70| 6f 64 22 20 28 63 6f 6e | 73 74 20 3a 6d 65 6e 75 |od" (con|st :menu|
|00000c80| 2d 74 61 67 20 22 4c 69 | 73 74 22 20 6c 69 73 74 |-tag "Li|st" list|
|00000c90| 29 20 28 63 6f 6e 73 74 | 20 3a 6d 65 6e 75 2d 74 |) (const| :menu-t|
|00000ca0| 61 67 20 22 46 69 72 73 | 74 22 20 66 69 72 73 74 |ag "Firs|t" first|
|00000cb0| 29 20 28 63 6f 6e 73 74 | 20 3a 6d 65 6e 75 2d 74 |) (const| :menu-t|
|00000cc0| 61 67 20 22 43 6f 6e 63 | 61 74 22 20 63 6f 6e 63 |ag "Conc|at" conc|
|00000cd0| 61 74 29 20 28 63 6f 6e | 73 74 20 3a 6d 65 6e 75 |at) (con|st :menu|
|00000ce0| 2d 74 61 67 20 22 44 75 | 70 6c 69 63 61 74 65 22 |-tag "Du|plicate"|
|00000cf0| 20 64 75 70 6c 69 63 61 | 74 65 29 29 29 29 29 20 | duplica|te))))) |
|00000d00| 3a 67 72 6f 75 70 20 27 | 70 68 29 0a 28 63 75 73 |:group '|ph).(cus|
|00000d10| 74 6f 6d 2d 64 65 63 6c | 61 72 65 2d 76 61 72 69 |tom-decl|are-vari|
|00000d20| 61 62 6c 65 20 27 70 68 | 2d 69 6e 6c 69 6e 65 2d |able 'ph|-inline-|
|00000d30| 71 75 65 72 79 2d 66 6f | 72 6d 61 74 2d 6c 69 73 |query-fo|rmat-lis|
|00000d40| 74 20 27 6e 69 6c 20 22 | 2a 46 6f 72 6d 61 74 20 |t 'nil "|*Format |
|00000d50| 6f 66 20 61 6e 20 69 6e | 6c 69 6e 65 20 65 78 70 |of an in|line exp|
|00000d60| 61 6e 73 69 6f 6e 20 71 | 75 65 72 79 2e 5c 6e 49 |ansion q|uery.\nI|
|00000d70| 66 20 74 68 65 20 69 6e | 6c 69 6e 65 20 71 75 65 |f the in|line que|
|00000d80| 72 79 20 73 74 72 69 6e | 67 20 63 6f 6e 73 69 73 |ry strin|g consis|
|00000d90| 74 73 20 6f 66 20 73 65 | 76 65 72 61 6c 20 77 6f |ts of se|veral wo|
|00000da0| 72 64 73 2c 20 74 68 69 | 73 20 6c 69 73 74 20 73 |rds, thi|s list s|
|00000db0| 70 65 63 69 66 69 65 73 | 20 5c 6e 68 6f 77 20 74 |pecifies| \nhow t|
|00000dc0| 68 65 73 65 20 69 6e 64 | 69 76 69 64 75 61 6c 20 |hese ind|ividual |
|00000dd0| 77 6f 72 64 73 20 61 72 | 65 20 61 73 73 6f 63 69 |words ar|e associ|
|00000de0| 61 74 65 64 20 74 6f 20 | 43 43 53 4f 20 64 61 74 |ated to |CCSO dat|
|00000df0| 61 62 61 73 65 20 66 69 | 65 6c 64 20 6e 61 6d 65 |abase fi|eld name|
|00000e00| 73 2e 5c 6e 49 66 20 6e | 69 6c 20 61 6c 6c 20 74 |s.\nIf n|il all t|
|00000e10| 68 65 20 77 6f 72 64 73 | 20 77 69 6c 6c 20 62 65 |he words| will be|
|00000e20| 20 6d 61 70 70 65 64 20 | 6f 6e 74 6f 20 74 68 65 | mapped |onto the|
|00000e30| 20 64 65 66 61 75 6c 74 | 20 43 43 53 4f 20 64 61 | default| CCSO da|
|00000e40| 74 61 62 61 73 65 20 6b | 65 79 2e 22 20 3a 74 79 |tabase k|ey." :ty|
|00000e50| 70 65 20 27 28 72 65 70 | 65 61 74 20 28 73 79 6d |pe '(rep|eat (sym|
|00000e60| 62 6f 6c 20 3a 74 61 67 | 20 22 46 69 65 6c 64 20 |bol :tag| "Field |
|00000e70| 6e 61 6d 65 22 29 29 20 | 3a 67 72 6f 75 70 20 27 |name")) |:group '|
|00000e80| 70 68 29 0a 28 63 75 73 | 74 6f 6d 2d 64 65 63 6c |ph).(cus|tom-decl|
|00000e90| 61 72 65 2d 76 61 72 69 | 61 62 6c 65 20 27 70 68 |are-vari|able 'ph|
|00000ea0| 2d 65 78 70 61 6e 64 69 | 6e 67 2d 6f 76 65 72 77 |-expandi|ng-overw|
|00000eb0| 72 69 74 65 73 2d 71 75 | 65 72 79 20 27 74 20 22 |rites-qu|ery 't "|
|00000ec0| 2a 49 66 20 6e 6f 6e 20 | 6e 69 6c 2c 20 65 78 70 |*If non |nil, exp|
|00000ed0| 61 6e 64 69 6e 67 20 61 | 20 71 75 65 72 79 20 6f |anding a| query o|
|00000ee0| 76 65 72 77 72 69 74 65 | 73 20 74 68 65 20 71 75 |verwrite|s the qu|
|00000ef0| 65 72 79 20 73 74 72 69 | 6e 67 22 20 3a 74 79 70 |ery stri|ng" :typ|
|00000f00| 65 20 27 62 6f 6f 6c 65 | 61 6e 20 3a 67 72 6f 75 |e 'boole|an :grou|
|00000f10| 70 20 27 70 68 29 0a 28 | 63 75 73 74 6f 6d 2d 64 |p 'ph).(|custom-d|
|00000f20| 65 63 6c 61 72 65 2d 76 | 61 72 69 61 62 6c 65 20 |eclare-v|ariable |
|00000f30| 27 70 68 2d 69 6e 6c 69 | 6e 65 2d 65 78 70 61 6e |'ph-inli|ne-expan|
|00000f40| 73 69 6f 6e 2d 66 6f 72 | 6d 61 74 20 27 27 28 22 |sion-for|mat ''("|
|00000f50| 25 73 22 20 65 6d 61 69 | 6c 29 20 22 2a 41 20 6c |%s" emai|l) "*A l|
|00000f60| 69 73 74 20 73 70 65 63 | 69 66 79 69 6e 67 20 74 |ist spec|ifying t|
|00000f70| 68 65 20 66 6f 72 6d 61 | 74 20 6f 66 20 74 68 65 |he forma|t of the|
|00000f80| 20 65 78 70 61 6e 73 69 | 6f 6e 20 6f 66 20 69 6e | expansi|on of in|
|00000f90| 6c 69 6e 65 20 71 75 65 | 72 69 65 73 2e 5c 6e 54 |line que|ries.\nT|
|00000fa0| 68 69 73 20 76 61 72 69 | 61 62 6c 65 20 63 6f 6e |his vari|able con|
|00000fb0| 74 72 6f 6c 73 20 77 68 | 61 74 20 70 68 2d 65 78 |trols wh|at ph-ex|
|00000fc0| 70 61 6e 64 2d 69 6e 6c | 69 6e 65 20 61 63 74 75 |pand-inl|ine actu|
|00000fd0| 61 6c 6c 79 20 69 6e 73 | 65 72 74 73 20 69 6e 20 |ally ins|erts in |
|00000fe0| 74 68 65 20 62 75 66 66 | 65 72 2e 5c 6e 46 69 72 |the buff|er.\nFir|
|00000ff0| 73 74 20 65 6c 65 6d 65 | 6e 74 20 69 73 20 61 20 |st eleme|nt is a |
|00001000| 73 74 72 69 6e 67 20 70 | 61 73 73 65 64 20 74 6f |string p|assed to|
|00001010| 20 66 6f 72 6d 61 74 2e | 20 52 65 6d 61 69 6e 69 | format.| Remaini|
|00001020| 6e 67 20 65 6c 65 6d 65 | 6e 74 73 20 61 72 65 20 |ng eleme|nts are |
|00001030| 73 79 6d 62 6f 6c 73 5c | 6e 69 6e 64 69 63 61 74 |symbols\|nindicat|
|00001040| 69 6e 67 20 43 43 53 4f | 20 64 61 74 61 62 61 73 |ing CCSO| databas|
|00001050| 65 20 66 69 65 6c 64 20 | 6e 61 6d 65 73 2c 20 63 |e field |names, c|
|00001060| 6f 72 72 65 73 70 6f 6e | 64 69 6e 67 20 66 69 65 |orrespon|ding fie|
|00001070| 6c 64 20 76 61 6c 75 65 | 73 20 61 72 65 20 70 61 |ld value|s are pa|
|00001080| 73 73 65 64 5c 6e 61 73 | 20 61 64 64 69 74 69 6f |ssed\nas| additio|
|00001090| 6e 61 6c 20 61 72 67 75 | 6d 65 6e 74 73 20 74 6f |nal argu|ments to|
|000010a0| 20 66 6f 72 6d 61 74 2e | 22 20 3a 74 79 70 65 20 | format.|" :type |
|000010b0| 27 28 6c 69 73 74 20 28 | 73 74 72 69 6e 67 20 3a |'(list (|string :|
|000010c0| 74 61 67 20 22 46 6f 72 | 6d 61 74 20 53 74 72 69 |tag "For|mat Stri|
|000010d0| 6e 67 22 29 20 28 72 65 | 70 65 61 74 20 3a 69 6e |ng") (re|peat :in|
|000010e0| 6c 69 6e 65 20 74 20 3a | 74 61 67 20 22 46 69 65 |line t :|tag "Fie|
|000010f0| 6c 64 20 6e 61 6d 65 73 | 22 20 28 73 79 6d 62 6f |ld names|" (symbo|
|00001100| 6c 20 3a 74 61 67 20 22 | 22 29 29 29 20 3a 67 72 |l :tag "|"))) :gr|
|00001110| 6f 75 70 20 27 70 68 29 | 0a 28 63 75 73 74 6f 6d |oup 'ph)|.(custom|
|00001120| 2d 64 65 63 6c 61 72 65 | 2d 76 61 72 69 61 62 6c |-declare|-variabl|
|00001130| 65 20 27 70 68 2d 66 6f | 72 6d 2d 66 69 65 6c 64 |e 'ph-fo|rm-field|
|00001140| 73 20 27 27 28 6e 61 6d | 65 20 65 6d 61 69 6c 20 |s ''(nam|e email |
|00001150| 70 68 6f 6e 65 29 20 22 | 2a 41 20 6c 69 73 74 20 |phone) "|*A list |
|00001160| 6f 66 20 66 69 65 6c 64 | 73 20 70 72 65 73 65 6e |of field|s presen|
|00001170| 74 65 64 20 69 6e 20 74 | 68 65 20 71 75 65 72 79 |ted in t|he query|
|00001180| 20 66 6f 72 6d 2e 22 20 | 3a 74 61 67 20 22 44 65 | form." |:tag "De|
|00001190| 66 61 75 6c 74 20 46 69 | 65 6c 64 73 20 69 6e 20 |fault Fi|elds in |
|000011a0| 51 75 65 72 79 20 46 6f | 72 6d 73 22 20 3a 74 79 |Query Fo|rms" :ty|
|000011b0| 70 65 20 27 28 72 65 70 | 65 61 74 20 28 73 79 6d |pe '(rep|eat (sym|
|000011c0| 62 6f 6c 20 3a 74 61 67 | 20 22 46 69 65 6c 64 20 |bol :tag| "Field |
|000011d0| 6e 61 6d 65 22 29 29 20 | 3a 67 72 6f 75 70 20 27 |name")) |:group '|
|000011e0| 70 68 29 0a 28 63 75 73 | 74 6f 6d 2d 64 65 63 6c |ph).(cus|tom-decl|
|000011f0| 61 72 65 2d 76 61 72 69 | 61 62 6c 65 20 27 70 68 |are-vari|able 'ph|
|00001200| 2d 66 69 65 6c 64 6e 61 | 6d 65 2d 66 6f 72 6d 73 |-fieldna|me-forms|
|00001210| 74 72 69 6e 67 2d 61 6c | 69 73 74 20 27 27 28 28 |tring-al|ist ''((|
|00001220| 75 72 6c 20 2e 20 22 55 | 52 4c 22 29 20 28 63 61 |url . "U|RL") (ca|
|00001230| 6c 6c 73 69 67 6e 20 2e | 20 22 48 41 4d 20 43 61 |llsign .| "HAM Ca|
|00001240| 6c 6c 20 53 69 67 6e 22 | 29 20 28 69 64 20 2e 20 |ll Sign"|) (id . |
|00001250| 22 49 44 22 29 20 28 65 | 6d 61 69 6c 20 2e 20 22 |"ID") (e|mail . "|
|00001260| 45 2d 4d 61 69 6c 22 29 | 20 28 66 69 72 73 74 6e |E-Mail")| (firstn|
|00001270| 61 6d 65 20 2e 20 22 46 | 69 72 73 74 20 4e 61 6d |ame . "F|irst Nam|
|00001280| 65 22 29 29 20 22 2a 41 | 20 6d 61 70 70 69 6e 67 |e")) "*A| mapping|
|00001290| 20 6f 66 20 43 43 53 4f | 20 64 61 74 61 62 61 73 | of CCSO| databas|
|000012a0| 65 20 66 69 65 6c 64 20 | 6e 61 6d 65 73 20 6f 6e |e field |names on|
|000012b0| 74 6f 20 70 72 6f 6d 70 | 74 20 73 74 72 69 6e 67 |to promp|t string|
|000012c0| 73 20 75 73 65 64 20 69 | 6e 20 71 75 65 72 79 2f |s used i|n query/|
|000012d0| 72 65 73 70 6f 6e 73 65 | 20 66 6f 72 6d 73 2e 5c |response| forms.\|
|000012e0| 6e 50 72 6f 6d 70 74 20 | 73 74 72 69 6e 67 73 20 |nPrompt |strings |
|000012f0| 66 6f 72 20 66 69 65 6c | 64 73 20 74 68 61 74 20 |for fiel|ds that |
|00001300| 61 72 65 20 6e 6f 74 20 | 69 6e 20 74 68 69 73 20 |are not |in this |
|00001310| 61 72 65 20 64 65 72 69 | 76 65 64 20 62 79 20 73 |are deri|ved by s|
|00001320| 70 6c 69 74 74 69 6e 67 | 20 74 68 65 20 66 69 65 |plitting| the fie|
|00001330| 6c 64 20 6e 61 6d 65 5c | 6e 61 74 20 60 5f 27 20 |ld name\|nat `_' |
|00001340| 73 69 67 6e 73 20 61 6e | 64 20 63 61 70 69 74 61 |signs an|d capita|
|00001350| 6c 69 7a 69 6e 67 20 74 | 68 65 20 69 6e 64 69 76 |lizing t|he indiv|
|00001360| 69 64 75 61 6c 20 77 6f | 72 64 73 2e 22 20 3a 74 |idual wo|rds." :t|
|00001370| 61 67 20 22 4d 61 70 70 | 69 6e 67 20 6f 66 20 46 |ag "Mapp|ing of F|
|00001380| 69 65 6c 64 20 4e 61 6d | 65 73 20 6f 6e 74 6f 20 |ield Nam|es onto |
|00001390| 50 72 6f 6d 70 74 20 53 | 74 72 69 6e 67 73 22 20 |Prompt S|trings" |
|000013a0| 3a 74 79 70 65 20 27 28 | 72 65 70 65 61 74 20 28 |:type '(|repeat (|
|000013b0| 63 6f 6e 73 20 3a 74 61 | 67 20 22 46 69 65 6c 64 |cons :ta|g "Field|
|000013c0| 22 20 28 73 79 6d 62 6f | 6c 20 3a 74 61 67 20 22 |" (symbo|l :tag "|
|000013d0| 4e 61 6d 65 22 29 20 28 | 73 74 72 69 6e 67 20 3a |Name") (|string :|
|000013e0| 74 61 67 20 22 50 72 6f | 6d 70 74 20 73 74 72 69 |tag "Pro|mpt stri|
|000013f0| 6e 67 22 29 29 29 20 3a | 67 72 6f 75 70 20 27 70 |ng"))) :|group 'p|
|00001400| 68 29 0a 28 63 75 73 74 | 6f 6d 2d 64 65 63 6c 61 |h).(cust|om-decla|
|00001410| 72 65 2d 76 61 72 69 61 | 62 6c 65 20 27 70 68 2d |re-varia|ble 'ph-|
|00001420| 62 62 64 62 2d 63 6f 6e | 76 65 72 73 69 6f 6e 2d |bbdb-con|version-|
|00001430| 61 6c 69 73 74 20 27 27 | 28 28 6e 61 6d 65 20 2e |alist ''|((name .|
|00001440| 20 6e 61 6d 65 29 20 28 | 6e 65 74 20 2e 20 65 6d | name) (|net . em|
|00001450| 61 69 6c 29 20 28 61 64 | 64 72 65 73 73 20 70 68 |ail) (ad|dress ph|
|00001460| 2d 62 62 64 62 69 66 79 | 2d 61 64 64 72 65 73 73 |-bbdbify|-address|
|00001470| 20 61 64 64 72 65 73 73 | 20 22 41 64 64 72 65 73 | address| "Addres|
|00001480| 73 22 29 20 28 70 68 6f | 6e 65 20 28 70 68 2d 62 |s") (pho|ne (ph-b|
|00001490| 62 64 62 69 66 79 2d 70 | 68 6f 6e 65 20 70 68 6f |bdbify-p|hone pho|
|000014a0| 6e 65 20 22 50 68 6f 6e | 65 22 29 20 28 70 68 2d |ne "Phon|e") (ph-|
|000014b0| 62 62 64 62 69 66 79 2d | 70 68 6f 6e 65 20 6f 66 |bbdbify-|phone of|
|000014c0| 66 69 63 65 5f 70 68 6f | 6e 65 20 22 4f 66 66 69 |fice_pho|ne "Offi|
|000014d0| 63 65 20 50 68 6f 6e 65 | 22 29 29 29 20 22 2a 41 |ce Phone|"))) "*A|
|000014e0| 20 6d 61 70 70 69 6e 67 | 20 66 72 6f 6d 20 42 42 | mapping| from BB|
|000014f0| 44 42 20 74 6f 20 50 48 | 2f 51 49 20 66 69 65 6c |DB to PH|/QI fiel|
|00001500| 64 73 2e 5c 6e 54 68 69 | 73 20 69 73 20 61 20 6c |ds.\nThi|s is a l|
|00001510| 69 73 74 20 6f 66 20 63 | 6f 6e 73 20 63 65 6c 6c |ist of c|ons cell|
|00001520| 73 20 28 42 42 44 42 2d | 46 49 45 4c 44 20 2e 20 |s (BBDB-|FIELD . |
|00001530| 53 50 45 43 2d 4f 52 2d | 4c 49 53 54 29 20 77 68 |SPEC-OR-|LIST) wh|
|00001540| 65 72 65 5c 6e 42 42 44 | 42 2d 46 49 45 4c 44 20 |ere\nBBD|B-FIELD |
|00001550| 69 73 20 74 68 65 20 6e | 61 6d 65 20 6f 66 20 61 |is the n|ame of a|
|00001560| 20 66 69 65 6c 64 20 74 | 68 61 74 20 6d 75 73 74 | field t|hat must|
|00001570| 20 62 65 20 64 65 66 69 | 6e 65 64 20 69 6e 20 79 | be defi|ned in y|
|00001580| 6f 75 72 20 42 42 44 42 | 5c 6e 65 6e 76 69 72 6f |our BBDB|\nenviro|
|00001590| 6e 6d 65 6e 74 20 28 73 | 74 61 6e 64 61 72 64 20 |nment (s|tandard |
|000015a0| 66 69 65 6c 64 20 6e 61 | 6d 65 73 20 61 72 65 20 |field na|mes are |
|000015b0| 60 6e 61 6d 65 27 2c 20 | 60 63 6f 6d 70 61 6e 79 |`name', |`company|
|000015c0| 27 2c 20 60 6e 65 74 27 | 2c 20 60 70 68 6f 6e 65 |', `net'|, `phone|
|000015d0| 27 2c 5c 6e 60 61 64 64 | 72 65 73 73 27 20 61 6e |',\n`add|ress' an|
|000015e0| 64 20 60 6e 6f 74 65 73 | 27 29 2e 20 20 53 50 45 |d `notes|'). SPE|
|000015f0| 43 2d 4f 52 2d 4c 49 53 | 54 20 69 73 20 65 69 74 |C-OR-LIS|T is eit|
|00001600| 68 65 72 20 61 20 73 69 | 6e 67 6c 65 20 53 50 45 |her a si|ngle SPE|
|00001610| 43 20 6f 72 20 61 20 6c | 69 73 74 5c 6e 6f 66 20 |C or a l|ist\nof |
|00001620| 53 50 45 43 73 2e 20 4c | 69 73 74 73 20 6f 66 20 |SPECs. L|ists of |
|00001630| 73 70 65 63 73 20 61 72 | 65 20 76 61 6c 69 64 20 |specs ar|e valid |
|00001640| 6f 6e 6c 79 20 66 6f 72 | 20 74 68 65 20 60 70 68 |only for| the `ph|
|00001650| 6f 6e 65 27 20 61 6e 64 | 20 60 61 64 64 72 65 73 |one' and| `addres|
|00001660| 73 27 5c 6e 42 42 44 42 | 20 66 69 65 6c 64 73 2e |s'\nBBDB| fields.|
|00001670| 20 20 53 50 45 43 73 20 | 61 72 65 20 73 65 78 70 | SPECs |are sexp|
|00001680| 73 20 77 68 69 63 68 20 | 61 72 65 20 65 76 61 6c |s which |are eval|
|00001690| 75 61 74 65 64 3a 5c 6e | 20 20 61 20 73 74 72 69 |uated:\n| a stri|
|000016a0| 6e 67 20 65 76 61 6c 75 | 61 74 65 73 20 74 6f 20 |ng evalu|ates to |
|000016b0| 69 74 73 65 6c 66 5c 6e | 20 20 61 20 73 79 6d 62 |itself\n| a symb|
|000016c0| 6f 6c 20 65 76 61 6c 75 | 61 74 65 73 20 74 6f 20 |ol evalu|ates to |
|000016d0| 74 68 65 20 73 79 6d 62 | 6f 6c 20 76 61 6c 75 65 |the symb|ol value|
|000016e0| 2e 20 53 79 6d 62 6f 6c | 73 20 6e 61 6d 69 6e 67 |. Symbol|s naming|
|000016f0| 20 50 48 2f 51 49 20 66 | 69 65 6c 64 73 5c 6e 20 | PH/QI f|ields\n |
|00001700| 20 20 20 70 72 65 73 65 | 6e 74 20 69 6e 20 74 68 | prese|nt in th|
|00001710| 65 20 72 65 63 6f 72 64 | 20 65 76 61 6c 75 61 74 |e record| evaluat|
|00001720| 65 20 74 6f 20 74 68 65 | 20 76 61 6c 75 65 20 6f |e to the| value o|
|00001730| 66 20 74 68 65 20 66 69 | 65 6c 64 20 69 6e 20 74 |f the fi|eld in t|
|00001740| 68 65 20 72 65 63 6f 72 | 64 5c 6e 20 20 61 20 66 |he recor|d\n a f|
|00001750| 6f 72 6d 20 69 73 20 65 | 76 61 6c 75 61 74 65 64 |orm is e|valuated|
|00001760| 20 61 73 20 61 20 66 75 | 6e 63 74 69 6f 6e 2e 20 | as a fu|nction. |
|00001770| 54 68 65 20 61 72 67 75 | 6d 65 6e 74 20 6c 69 73 |The argu|ment lis|
|00001780| 74 20 6d 61 79 20 63 6f | 6e 74 61 69 6e 20 50 48 |t may co|ntain PH|
|00001790| 2f 51 49 20 5c 6e 20 20 | 20 20 66 69 65 6c 64 20 |/QI \n | field |
|000017a0| 6e 61 6d 65 73 20 77 68 | 69 63 68 20 65 76 61 6c |names wh|ich eval|
|000017b0| 20 74 6f 20 74 68 65 20 | 63 6f 72 72 65 73 70 6f | to the |correspo|
|000017c0| 6e 64 69 6e 67 20 76 61 | 6c 75 65 73 20 69 6e 20 |nding va|lues in |
|000017d0| 74 68 65 5c 6e 20 20 20 | 20 72 65 63 6f 72 64 2e |the\n | record.|
|000017e0| 20 54 68 65 20 66 6f 72 | 6d 20 65 76 61 6c 75 61 | The for|m evalua|
|000017f0| 74 69 6f 6e 20 73 68 6f | 75 6c 64 20 72 65 74 75 |tion sho|uld retu|
|00001800| 72 6e 20 73 6f 6d 65 74 | 68 69 6e 67 20 61 70 70 |rn somet|hing app|
|00001810| 72 6f 70 72 69 61 74 65 | 20 66 6f 72 5c 6e 20 20 |ropriate| for\n |
|00001820| 20 20 74 68 65 20 70 61 | 72 74 69 63 75 6c 61 72 | the pa|rticular|
|00001830| 20 42 42 44 42 2d 46 49 | 45 4c 44 20 28 73 65 65 | BBDB-FI|ELD (see|
|00001840| 20 62 62 64 62 2d 63 72 | 65 61 74 65 2d 69 6e 74 | bbdb-cr|eate-int|
|00001850| 65 72 6e 61 6c 29 2e 5c | 6e 20 20 20 20 70 68 2d |ernal).\|n ph-|
|00001860| 62 62 64 62 69 66 79 2d | 70 68 6f 6e 65 20 61 6e |bbdbify-|phone an|
|00001870| 64 20 70 68 2d 62 62 64 | 62 69 66 79 2d 61 64 64 |d ph-bbd|bify-add|
|00001880| 72 65 73 73 20 61 72 65 | 20 70 72 6f 76 69 64 65 |ress are| provide|
|00001890| 64 20 61 73 20 63 6f 6e | 76 65 6e 69 65 6e 63 65 |d as con|venience|
|000018a0| 5c 6e 20 20 20 20 66 75 | 6e 63 74 69 6f 6e 73 20 |\n fu|nctions |
|000018b0| 74 6f 20 70 61 72 73 65 | 20 70 68 6f 6e 65 73 20 |to parse| phones |
|000018c0| 61 6e 64 20 61 64 64 72 | 65 73 73 65 73 2e 22 20 |and addr|esses." |
|000018d0| 3a 74 61 67 20 22 42 42 | 44 42 20 74 6f 20 43 43 |:tag "BB|DB to CC|
|000018e0| 53 4f 20 46 69 65 6c 64 | 20 4e 61 6d 65 20 4d 61 |SO Field| Name Ma|
|000018f0| 70 70 69 6e 67 22 20 3a | 74 79 70 65 20 27 28 72 |pping" :|type '(r|
|00001900| 65 70 65 61 74 20 28 63 | 6f 6e 73 20 3a 74 61 67 |epeat (c|ons :tag|
|00001910| 20 22 46 69 65 6c 64 20 | 4e 61 6d 65 22 20 28 73 | "Field |Name" (s|
|00001920| 79 6d 62 6f 6c 20 3a 74 | 61 67 20 22 42 42 44 42 |ymbol :t|ag "BBDB|
|00001930| 20 46 69 65 6c 64 22 29 | 20 28 73 65 78 70 20 3a | Field")| (sexp :|
|00001940| 74 61 67 20 22 43 6f 6e | 76 65 72 73 69 6f 6e 20 |tag "Con|version |
|00001950| 53 70 65 63 22 29 29 29 | 20 3a 67 72 6f 75 70 20 |Spec")))| :group |
|00001960| 27 70 68 29 0a 28 63 75 | 73 74 6f 6d 2d 64 65 63 |'ph).(cu|stom-dec|
|00001970| 6c 61 72 65 2d 76 61 72 | 69 61 62 6c 65 20 27 70 |lare-var|iable 'p|
|00001980| 68 2d 6f 70 74 69 6f 6e | 73 2d 66 69 6c 65 20 27 |h-option|s-file '|
|00001990| 22 7e 2f 2e 70 68 2d 6f | 70 74 69 6f 6e 73 22 20 |"~/.ph-o|ptions" |
|000019a0| 22 2a 41 20 66 69 6c 65 | 20 77 68 65 72 65 20 74 |"*A file| where t|
|000019b0| 68 65 20 60 73 65 72 76 | 65 72 73 27 20 68 6f 74 |he `serv|ers' hot|
|000019c0| 6c 69 73 74 20 28 61 6e | 64 20 6d 61 79 62 65 20 |list (an|d maybe |
|000019d0| 6f 74 68 65 72 20 76 61 | 72 69 61 62 6c 65 73 20 |other va|riables |
|000019e0| 69 6e 20 74 68 65 20 66 | 75 74 75 72 65 29 20 69 |in the f|uture) i|
|000019f0| 73 20 73 74 6f 72 65 64 | 2e 22 20 3a 74 79 70 65 |s stored|." :type|
|00001a00| 20 27 28 66 69 6c 65 20 | 3a 54 61 67 20 22 46 69 | '(file |:Tag "Fi|
|00001a10| 6c 65 20 4e 61 6d 65 3a | 22 29 29 0a 28 63 75 73 |le Name:|")).(cus|
|00001a20| 74 6f 6d 2d 64 65 63 6c | 61 72 65 2d 76 61 72 69 |tom-decl|are-vari|
|00001a30| 61 62 6c 65 20 27 70 68 | 2d 6d 6f 64 65 2d 68 6f |able 'ph|-mode-ho|
|00001a40| 6f 6b 20 27 6e 69 6c 20 | 22 2a 41 20 6c 69 73 74 |ok 'nil |"*A list|
|00001a50| 20 6f 66 20 66 75 6e 63 | 74 69 6f 6e 73 20 63 61 | of func|tions ca|
|00001a60| 6c 6c 65 64 20 77 68 65 | 6e 20 70 68 2d 6d 6f 64 |lled whe|n ph-mod|
|00001a70| 65 20 69 73 20 65 6e 74 | 65 72 65 64 20 69 6e 20 |e is ent|ered in |
|00001a80| 62 75 66 66 65 72 73 20 | 64 69 73 70 6c 61 79 69 |buffers |displayi|
|00001a90| 6e 67 20 71 75 65 72 79 | 20 72 65 73 75 6c 74 73 |ng query| results|
|00001aa0| 2e 22 20 3a 74 79 70 65 | 20 27 28 72 65 70 65 61 |." :type| '(repea|
|00001ab0| 74 20 28 73 65 78 70 20 | 3a 74 61 67 20 22 48 6f |t (sexp |:tag "Ho|
|00001ac0| 6f 6b 22 29 29 29 0a 28 | 62 79 74 65 2d 63 6f 64 |ok"))).(|byte-cod|
|00001ad0| 65 20 22 c0 c1 5c 6e 5c | 22 13 c3 0c 42 14 0b 3f |e "..\n\|"...B..?|
|00001ae0| 15 c5 0c 42 14 0b ad 83 | c6 c7 21 16 08 c8 0c 42 |...B....|..!....B|
|00001af0| 14 0d ad 83 c6 c7 21 16 | 09 c9 0c 42 14 ca cb 21 |......!.|...B...!|
|00001b00| ac 83 cc 16 0b cb 0c 42 | 14 cc 87 22 20 5b 73 74 |.......B|..." [st|
|00001b10| 72 69 6e 67 2d 6d 61 74 | 63 68 20 22 58 45 6d 61 |ring-mat|ch "XEma|
|00001b20| 63 73 22 20 65 6d 61 63 | 73 2d 76 65 72 73 69 6f |cs" emac|s-versio|
|00001b30| 6e 20 70 68 2d 78 65 6d | 61 63 73 2d 70 20 63 75 |n ph-xem|acs-p cu|
|00001b40| 72 72 65 6e 74 2d 6c 6f | 61 64 2d 6c 69 73 74 20 |rrent-lo|ad-list |
|00001b50| 70 68 2d 66 73 66 65 6d | 61 63 73 2d 70 20 66 65 |ph-fsfem|acs-p fe|
|00001b60| 61 74 75 72 65 70 20 6d | 75 6c 65 20 70 68 2d 78 |aturep m|ule ph-x|
|00001b70| 65 6d 61 63 73 2d 6d 75 | 6c 65 2d 70 20 70 68 2d |emacs-mu|le-p ph-|
|00001b80| 66 73 66 65 6d 61 63 73 | 2d 6d 75 6c 65 2d 70 20 |fsfemacs|-mule-p |
|00001b90| 62 6f 75 6e 64 70 20 70 | 68 2d 73 65 72 76 65 72 |boundp p|h-server|
|00001ba0| 2d 68 6f 74 6c 69 73 74 | 20 6e 69 6c 5d 20 33 29 |-hotlist| nil] 3)|
|00001bb0| 0a 23 40 34 36 20 44 65 | 66 61 75 6c 74 20 54 43 |.#@46 De|fault TC|
|00001bc0| 50 20 70 6f 72 74 20 66 | 6f 72 20 43 43 53 4f 20 |P port f|or CCSO |
|00001bd0| 64 69 72 65 63 74 6f 72 | 79 20 73 65 72 76 69 63 |director|y servic|
|00001be0| 65 73 1f 0a 28 64 65 66 | 63 6f 6e 73 74 20 70 68 |es..(def|const ph|
|00001bf0| 2d 64 65 66 61 75 6c 74 | 2d 73 65 72 76 65 72 2d |-default|-server-|
|00001c00| 70 6f 72 74 20 31 30 35 | 20 28 23 24 20 2e 20 37 |port 105| (#$ . 7|
|00001c10| 30 39 34 29 29 0a 28 62 | 79 74 65 2d 63 6f 64 65 |094)).(b|yte-code|
|00001c20| 20 22 c0 c1 21 ac 82 c2 | 11 c1 0b 42 13 c0 c4 21 | "..!...|...B...!|
|00001c30| ac 82 c2 14 c4 0b 42 13 | c5 0b 42 13 c6 0e 07 21 |......B.|..B....!|
|00001c40| ab 8f c8 c9 21 ab 8a ca | c7 21 ac 85 cb 0e 07 21 |....!...|.!.....!|
|00001c50| 88 cc cd 21 ac 84 cd ce | 4d 88 c2 87 22 20 5b 62 |...!....|M..." [b|
|00001c60| 6f 75 6e 64 70 20 70 68 | 2d 66 6f 72 6d 2d 77 69 |oundp ph|-form-wi|
|00001c70| 64 67 65 74 2d 6c 69 73 | 74 20 6e 69 6c 20 63 75 |dget-lis|t nil cu|
|00001c80| 72 72 65 6e 74 2d 6c 6f | 61 64 2d 6c 69 73 74 20 |rrent-lo|ad-list |
|00001c90| 70 68 2d 70 72 6f 63 65 | 73 73 2d 62 75 66 66 65 |ph-proce|ss-buffe|
|00001ca0| 72 20 70 68 2d 72 65 61 | 64 2d 70 6f 69 6e 74 20 |r ph-rea|d-point |
|00001cb0| 6c 6f 63 61 74 65 2d 6c | 69 62 72 61 72 79 20 70 |locate-l|ibrary p|
|00001cc0| 68 2d 6f 70 74 69 6f 6e | 73 2d 66 69 6c 65 20 6d |h-option|s-file m|
|00001cd0| 65 73 73 61 67 65 20 22 | 22 20 66 65 61 74 75 72 |essage "|" featur|
|00001ce0| 65 70 20 6c 6f 61 64 20 | 66 62 6f 75 6e 64 70 20 |ep load |fboundp |
|00001cf0| 73 70 6c 69 74 2d 73 74 | 72 69 6e 67 20 23 5b 28 |split-st|ring #[(|
|00001d00| 73 74 72 69 6e 67 20 70 | 61 74 74 65 72 6e 29 20 |string p|attern) |
|00001d10| 22 c0 c1 1a 1b c4 0d 0e | 06 5c 6e 23 ab 8e 0e 06 |".......|.\n#....|
|00001d20| 5c 6e c1 94 4f 0b 42 13 | c1 95 12 aa 6a 0e 06 5c |\n..O.B.|....j..\|
|00001d30| 6e c0 4f 0b 42 9f 2a 87 | 22 20 5b 6e 69 6c 20 30 |n.O.B.*.|" [nil 0|
|00001d40| 20 73 74 61 72 74 20 70 | 61 72 74 73 20 73 74 72 | start p|arts str|
|00001d50| 69 6e 67 2d 6d 61 74 63 | 68 20 70 61 74 74 65 72 |ing-matc|h patter|
|00001d60| 6e 20 73 74 72 69 6e 67 | 5d 20 34 20 22 52 65 74 |n string|] 4 "Ret|
|00001d70| 75 72 6e 20 61 20 6c 69 | 73 74 20 6f 66 20 73 75 |urn a li|st of su|
|00001d80| 62 73 74 72 69 6e 67 73 | 20 6f 66 20 53 54 52 49 |bstrings| of STRI|
|00001d90| 4e 47 20 77 68 69 63 68 | 20 61 72 65 20 73 65 70 |NG which| are sep|
|00001da0| 61 72 61 74 65 64 20 62 | 79 20 50 41 54 54 45 52 |arated b|y PATTER|
|00001db0| 4e 2e 22 5d 5d 20 32 29 | 0a 23 40 32 31 31 20 4d |N."]] 2)|.#@211 M|
|00001dc0| 61 6a 6f 72 20 6d 6f 64 | 65 20 75 73 65 64 20 69 |ajor mod|e used i|
|00001dd0| 6e 20 62 75 66 66 65 72 | 73 20 64 69 73 70 6c 61 |n buffer|s displa|
|00001de0| 79 69 6e 67 20 74 68 65 | 20 72 65 73 75 6c 74 73 |ying the| results|
|00001df0| 20 6f 66 20 50 48 20 71 | 75 65 72 69 65 73 2e 0a | of PH q|ueries..|
|00001e00| 54 68 65 72 65 20 69 73 | 20 6e 6f 20 73 65 6e 73 |There is| no sens|
|00001e10| 65 20 69 6e 20 63 61 6c | 6c 69 6e 67 20 74 68 69 |e in cal|ling thi|
|00001e20| 73 20 63 6f 6d 6d 61 6e | 64 20 66 72 6f 6d 20 61 |s comman|d from a|
|00001e30| 20 62 75 66 66 65 72 20 | 6f 74 68 65 72 20 74 68 | buffer |other th|
|00001e40| 61 6e 0a 6f 6e 65 20 63 | 6f 6e 74 61 69 6e 69 6e |an.one c|ontainin|
|00001e50| 67 20 74 68 65 20 72 65 | 73 75 6c 74 73 20 6f 66 |g the re|sults of|
|00001e60| 20 61 20 50 48 20 71 75 | 65 72 79 2e 0a 0a 41 76 | a PH qu|ery...Av|
|00001e70| 61 69 6c 61 62 6c 65 20 | 62 69 6e 64 69 6e 67 73 |ailable |bindings|
|00001e80| 3a 0a 5c 7b 70 68 2d 6d | 6f 64 65 2d 6d 61 70 7d |:.\{ph-m|ode-map}|
|00001e90| 1f 0a 28 64 65 66 61 6c | 69 61 73 20 27 70 68 2d |..(defal|ias 'ph-|
|00001ea0| 6d 6f 64 65 20 23 5b 6e | 69 6c 20 22 c0 20 88 c1 |mode #[n|il ". ..|
|00001eb0| 12 c3 14 c5 0e 06 21 88 | c7 20 16 08 c9 ca 21 87 |......!.|. ....!.|
|00001ec0| 22 20 5b 6b 69 6c 6c 2d | 61 6c 6c 2d 6c 6f 63 61 |" [kill-|all-loca|
|00001ed0| 6c 2d 76 61 72 69 61 62 | 6c 65 73 20 70 68 2d 6d |l-variab|les ph-m|
|00001ee0| 6f 64 65 20 6d 61 6a 6f | 72 2d 6d 6f 64 65 20 22 |ode majo|r-mode "|
|00001ef0| 50 48 22 20 6d 6f 64 65 | 2d 6e 61 6d 65 20 75 73 |PH" mode|-name us|
|00001f00| 65 2d 6c 6f 63 61 6c 2d | 6d 61 70 20 70 68 2d 6d |e-local-|map ph-m|
|00001f10| 6f 64 65 2d 6d 61 70 20 | 70 68 2d 6d 65 6e 75 20 |ode-map |ph-menu |
|00001f20| 6d 6f 64 65 2d 70 6f 70 | 75 70 2d 6d 65 6e 75 20 |mode-pop|up-menu |
|00001f30| 72 75 6e 2d 68 6f 6f 6b | 73 20 70 68 2d 6d 6f 64 |run-hook|s ph-mod|
|00001f40| 65 2d 68 6f 6f 6b 5d 20 | 32 20 28 23 24 20 2e 20 |e-hook] |2 (#$ . |
|00001f50| 37 36 31 35 29 20 6e 69 | 6c 5d 29 0a 23 40 31 38 |7615) ni|l]).#@18|
|00001f60| 30 20 44 69 73 70 6c 61 | 79 20 74 68 65 20 72 65 |0 Displa|y the re|
|00001f70| 63 6f 72 64 20 6c 69 73 | 74 20 52 45 43 4f 52 44 |cord lis|t RECORD|
|00001f80| 53 20 69 6e 20 61 20 66 | 6f 72 6d 61 74 74 65 64 |S in a f|ormatted|
|00001f90| 20 62 75 66 66 65 72 2e | 20 0a 49 66 20 52 41 57 | buffer.| .If RAW|
|00001fa0| 2d 46 49 45 4c 44 2d 4e | 41 4d 45 53 20 69 73 20 |-FIELD-N|AMES is |
|00001fb0| 6e 6f 6e 2d 6e 69 6c 2c | 20 66 69 65 6c 64 20 6e |non-nil,| field n|
|00001fc0| 61 6d 65 73 20 77 69 6c | 6c 20 62 65 20 66 6f 72 |ames wil|l be for|
|00001fd0| 6d 61 74 74 65 64 20 74 | 6f 20 6c 6f 6f 6b 0a 6d |matted t|o look.m|
|00001fe0| 6f 72 65 20 61 74 74 72 | 61 63 74 69 76 65 20 62 |ore attr|active b|
|00001ff0| 79 69 20 63 61 70 69 74 | 61 6c 69 7a 69 6e 67 20 |yi capit|alizing |
|00002000| 61 6e 64 20 66 6f 72 6d | 69 6e 67 20 73 74 72 69 |and form|ing stri|
|00002010| 6e 67 73 2e 1f 0a 28 64 | 65 66 61 6c 69 61 73 20 |ngs...(d|efalias |
|00002020| 27 70 68 2d 64 69 73 70 | 6c 61 79 2d 72 65 63 6f |'ph-disp|lay-reco|
|00002030| 72 64 73 20 23 5b 28 72 | 65 63 6f 72 64 73 20 26 |rds #[(r|ecords &|
|00002040| 6f 70 74 69 6f 6e 61 6c | 20 72 61 77 2d 66 69 65 |optional| raw-fie|
|00002050| 6c 64 2d 6e 61 6d 65 73 | 29 20 22 c0 c1 21 c2 89 |ld-names|) "..!..|
|00002060| c3 c2 89 89 1c 1d 1e 06 | 1e 07 1e 08 1e 09 1e 5c |........|.......\|
|00002070| 6e cb 0e 5c 6e 21 88 cc | 16 0d cc 16 09 ce 20 88 |n..\n!..|...... .|
|00002080| cf 63 88 d0 63 88 0e 11 | ac 8e d2 0e 13 ab 83 d4 |.c..c...|........|
|00002090| aa 81 d5 b1 02 88 aa 8d | d6 d7 0e 11 5c 22 16 08 |........|....\"..|
|000020a0| d6 d8 0e 08 5c 22 88 d9 | 63 88 da db dc dd de 24 |....\"..|c......$|
|000020b0| 88 df e0 21 88 da db dc | e1 e2 24 88 e3 20 88 e4 |...!....|..$.. ..|
|000020c0| 20 2e 07 87 22 20 5b 67 | 65 74 2d 62 75 66 66 65 | ..." [g|et-buffe|
|000020d0| 72 2d 63 72 65 61 74 65 | 20 22 2a 50 48 20 51 75 |r-create| "*PH Qu|
|000020e0| 65 72 79 20 52 65 73 75 | 6c 74 73 2a 22 20 6e 69 |ery Resu|lts*" ni|
|000020f0| 6c 20 30 20 66 69 65 6c | 64 2d 6e 61 6d 65 20 66 |l 0 fiel|d-name f|
|00002100| 69 65 6c 64 2d 62 65 67 | 20 62 65 67 20 77 69 64 |ield-beg| beg wid|
|00002110| 74 68 20 70 72 65 63 6f | 72 64 73 20 69 6e 68 69 |th preco|rds inhi|
|00002120| 62 69 74 2d 72 65 61 64 | 2d 6f 6e 6c 79 20 62 75 |bit-read|-only bu|
|00002130| 66 66 65 72 20 73 77 69 | 74 63 68 2d 74 6f 2d 62 |ffer swi|tch-to-b|
|00002140| 75 66 66 65 72 20 74 20 | 62 75 66 66 65 72 2d 72 |uffer t |buffer-r|
|00002150| 65 61 64 2d 6f 6e 6c 79 | 20 65 72 61 73 65 2d 62 |ead-only| erase-b|
|00002160| 75 66 66 65 72 20 22 50 | 48 20 51 75 65 72 79 20 |uffer "P|H Query |
|00002170| 52 65 73 75 6c 74 5c 6e | 22 20 22 3d 3d 3d 3d 3d |Result\n|" "=====|
|00002180| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 5c 6e 5c 6e 5c 6e |========|==\n\n\n|
|00002190| 22 20 72 65 63 6f 72 64 | 73 20 22 4e 6f 20 6d 61 |" record|s "No ma|
|000021a0| 74 63 68 20 66 6f 75 6e | 64 2e 5c 6e 22 20 70 68 |tch foun|d.\n" ph|
|000021b0| 2d 73 74 72 69 63 74 2d | 72 65 74 75 72 6e 2d 6d |-strict-|return-m|
|000021c0| 61 74 63 68 65 73 20 22 | 54 72 79 20 73 65 74 74 |atches "|Try sett|
|000021d0| 69 6e 67 20 70 68 2d 73 | 74 72 69 63 74 2d 72 65 |ing ph-s|trict-re|
|000021e0| 74 75 72 6e 2d 6d 61 74 | 63 68 65 73 20 74 6f 20 |turn-mat|ches to |
|000021f0| 6e 69 6c 20 6f 72 20 63 | 68 61 6e 67 65 20 70 68 |nil or c|hange ph|
|00002200| 2d 64 65 66 61 75 6c 74 | 2d 72 65 74 75 72 6e 2d |-default|-return-|
|00002210| 66 69 65 6c 64 73 2e 22 | 20 22 22 20 6d 61 70 63 |fields."| "" mapc|
|00002220| 61 72 20 23 5b 28 72 65 | 63 6f 72 64 29 20 22 c0 |ar #[(re|cord) ".|
|00002230| c1 5c 6e 5c 22 87 22 20 | 5b 6d 61 70 63 61 72 20 |.\n\"." |[mapcar |
|00002240| 23 5b 28 66 69 65 6c 64 | 29 20 22 08 ab 86 c1 5c |#[(field|) "....\|
|00002250| 6e 40 21 aa 97 5c 6e 40 | 0b b7 ab 87 5c 6e 40 0b |n@!..\n@|....\n@.|
|00002260| b7 41 ae 8a c4 c5 c6 c1 | 5c 6e 40 21 c7 23 21 89 |.A......|\n@!.#!.|
|00002270| 16 08 47 0e 09 56 ab 85 | 0e 08 47 16 09 0e 08 5c |..G..V..|..G....\|
|00002280| 6e 41 42 87 22 20 5b 72 | 61 77 2d 66 69 65 6c 64 |nAB." [r|aw-field|
|00002290| 2d 6e 61 6d 65 73 20 73 | 79 6d 62 6f 6c 2d 6e 61 |-names s|ymbol-na|
|000022a0| 6d 65 20 66 69 65 6c 64 | 20 70 68 2d 66 69 65 6c |me field| ph-fiel|
|000022b0| 64 6e 61 6d 65 2d 66 6f | 72 6d 73 74 72 69 6e 67 |dname-fo|rmstring|
|000022c0| 2d 61 6c 69 73 74 20 63 | 61 70 69 74 61 6c 69 7a |-alist c|apitaliz|
|000022d0| 65 20 6d 61 70 63 6f 6e | 63 61 74 20 23 5b 28 63 |e mapcon|cat #[(c|
|000022e0| 68 61 72 29 20 22 08 c1 | 61 ab 82 c2 87 c3 08 21 |har) "..|a......!|
|000022f0| 87 22 20 5b 63 68 61 72 | 20 3f 5c 5f 20 22 20 22 |." [char| ?\_ " "|
|00002300| 20 63 68 61 72 2d 74 6f | 2d 73 74 72 69 6e 67 5d | char-to|-string]|
|00002310| 20 32 5d 20 22 22 20 66 | 69 65 6c 64 2d 6e 61 6d | 2] "" f|ield-nam|
|00002320| 65 20 77 69 64 74 68 5d | 20 36 5d 20 72 65 63 6f |e width]| 6] reco|
|00002330| 72 64 5d 20 33 5d 20 23 | 5b 28 72 65 63 6f 72 64 |rd] 3] #|[(record|
|00002340| 29 20 22 60 10 c1 c2 0b | 5c 22 88 c4 c5 08 60 5c |) "`....|\"....`\|
|00002350| 22 c6 0e 07 40 23 88 0e | 07 41 16 07 c8 63 87 22 |"...@#..|.A...c."|
|00002360| 20 5b 62 65 67 20 6d 61 | 70 63 61 72 20 23 5b 28 | [beg ma|pcar #[(|
|00002370| 66 69 65 6c 64 29 20 22 | 60 10 c1 c2 0b c4 51 0d |field) "|`.....Q.|
|00002380| 40 5c 22 63 88 c6 08 60 | c7 c8 24 88 c9 ca 0d 41 |@\"c...`|..$....A|
|00002390| 3b ab 87 cb 0d 41 cc 5c | 22 aa 82 0d 41 5c 22 87 |;....A.\|"...A\".|
|000023a0| 22 20 5b 66 69 65 6c 64 | 2d 62 65 67 20 66 6f 72 |" [field|-beg for|
|000023b0| 6d 61 74 20 22 25 22 20 | 77 69 64 74 68 20 22 73 |mat "%" |width "s|
|000023c0| 3a 20 22 20 66 69 65 6c | 64 20 70 75 74 2d 74 65 |: " fiel|d put-te|
|000023d0| 78 74 2d 70 72 6f 70 65 | 72 74 79 20 66 61 63 65 |xt-prope|rty face|
|000023e0| 20 62 6f 6c 64 20 6d 61 | 70 63 61 72 20 23 5b 28 | bold ma|pcar #[(|
|000023f0| 76 61 6c 29 20 22 08 c1 | 5c 5c 6a 88 5c 6e c3 b1 |val) "..|\\j.\n..|
|00002400| 02 87 22 20 5b 77 69 64 | 74 68 20 32 20 76 61 6c |.." [wid|th 2 val|
|00002410| 20 22 5c 6e 22 5d 20 32 | 5d 20 73 70 6c 69 74 2d | "\n"] 2|] split-|
|00002420| 73 74 72 69 6e 67 20 22 | 5c 6e 22 5d 20 35 5d 20 |string "|\n"] 5] |
|00002430| 72 65 63 6f 72 64 20 6f | 76 65 72 6c 61 79 2d 70 |record o|verlay-p|
|00002440| 75 74 20 6d 61 6b 65 2d | 6f 76 65 72 6c 61 79 20 |ut make-|overlay |
|00002450| 70 68 2d 72 65 63 6f 72 | 64 20 72 65 63 6f 72 64 |ph-recor|d record|
|00002460| 73 20 22 5c 6e 22 5d 20 | 34 5d 20 22 5c 6e 22 20 |s "\n"] |4] "\n" |
|00002470| 77 69 64 67 65 74 2d 63 | 72 65 61 74 65 20 70 75 |widget-c|reate pu|
|00002480| 73 68 2d 62 75 74 74 6f | 6e 20 3a 6e 6f 74 69 66 |sh-butto|n :notif|
|00002490| 79 20 23 5b 28 26 72 65 | 73 74 20 69 67 6e 6f 72 |y #[(&re|st ignor|
|000024a0| 65 29 20 22 c0 20 87 22 | 20 5b 70 68 2d 71 75 65 |e) ". ."| [ph-que|
|000024b0| 72 79 2d 66 6f 72 6d 5d | 20 31 5d 20 22 4e 65 77 |ry-form]| 1] "New|
|000024c0| 20 71 75 65 72 79 22 20 | 77 69 64 67 65 74 2d 69 | query" |widget-i|
|000024d0| 6e 73 65 72 74 20 22 20 | 22 20 23 5b 28 26 72 65 |nsert " |" #[(&re|
|000024e0| 73 74 20 69 67 6e 6f 72 | 65 29 20 22 c0 20 87 22 |st ignor|e) ". ."|
|000024f0| 20 5b 6b 69 6c 6c 2d 74 | 68 69 73 2d 62 75 66 66 | [kill-t|his-buff|
|00002500| 65 72 5d 20 31 5d 20 22 | 51 75 69 74 22 20 70 68 |er] 1] "|Quit" ph|
|00002510| 2d 6d 6f 64 65 20 77 69 | 64 67 65 74 2d 73 65 74 |-mode wi|dget-set|
|00002520| 75 70 5d 20 37 20 28 23 | 24 20 2e 20 38 30 33 34 |up] 7 (#|$ . 8034|
|00002530| 29 5d 29 0a 23 40 36 30 | 20 50 72 6f 63 65 73 73 |)]).#@60| Process|
|00002540| 20 74 68 65 20 66 6f 72 | 6d 20 69 6e 20 63 75 72 | the for|m in cur|
|00002550| 72 65 6e 74 20 62 75 66 | 66 65 72 20 61 6e 64 20 |rent buf|fer and |
|00002560| 64 69 73 70 6c 61 79 20 | 74 68 65 20 72 65 73 75 |display |the resu|
|00002570| 6c 74 73 1f 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |lts..(de|falias '|
|00002580| 70 68 2d 70 72 6f 63 65 | 73 73 2d 66 6f 72 6d 20 |ph-proce|ss-form |
|00002590| 23 5b 6e 69 6c 20 22 c0 | 89 19 1a c3 c4 21 ab 83 |#[nil ".|.....!..|
|000025a0| 0c ac 85 c5 c6 21 aa 8e | c7 c8 0c 5c 22 88 c9 70 |.....!..|...\"..p|
|000025b0| 21 88 ca cb 5c 6e 21 21 | 2a 87 22 20 5b 6e 69 6c |!...\n!!|*." [nil|
|000025c0| 20 76 61 6c 75 65 20 71 | 75 65 72 79 2d 61 6c 69 | value q|uery-ali|
|000025d0| 73 74 20 62 6f 75 6e 64 | 70 20 70 68 2d 66 6f 72 |st bound|p ph-for|
|000025e0| 6d 2d 77 69 64 67 65 74 | 2d 6c 69 73 74 20 65 72 |m-widget|-list er|
|000025f0| 72 6f 72 20 22 4e 6f 74 | 20 69 6e 20 61 20 50 48 |ror "Not| in a PH|
|00002600| 20 71 75 65 72 79 20 66 | 6f 72 6d 20 62 75 66 66 | query f|orm buff|
|00002610| 65 72 22 20 6d 61 70 63 | 61 72 20 23 5b 28 77 69 |er" mapc|ar #[(wi|
|00002620| 64 2d 66 69 65 6c 64 29 | 20 22 c0 09 41 21 89 12 |d-field)| "..A!..|
|00002630| c3 98 3f ad 88 09 40 5c | 6e 42 0c 42 89 14 87 22 |..?...@\|nB.B..."|
|00002640| 20 5b 77 69 64 67 65 74 | 2d 76 61 6c 75 65 20 77 | [widget|-value w|
|00002650| 69 64 2d 66 69 65 6c 64 | 20 76 61 6c 75 65 20 22 |id-field| value "|
|00002660| 22 20 71 75 65 72 79 2d | 61 6c 69 73 74 5d 20 33 |" query-|alist] 3|
|00002670| 5d 20 6b 69 6c 6c 2d 62 | 75 66 66 65 72 20 70 68 |] kill-b|uffer ph|
|00002680| 2d 64 69 73 70 6c 61 79 | 2d 72 65 63 6f 72 64 73 |-display|-records|
|00002690| 20 70 68 2d 71 75 65 72 | 79 2d 69 6e 74 65 72 6e | ph-quer|y-intern|
|000026a0| 61 6c 5d 20 33 20 28 23 | 24 20 2e 20 39 35 32 39 |al] 3 (#|$ . 9529|
|000026b0| 29 5d 29 0a 23 40 33 36 | 30 20 51 75 65 72 79 20 |)]).#@36|0 Query |
|000026c0| 74 68 65 20 50 48 2f 51 | 49 20 73 65 72 76 65 72 |the PH/Q|I server|
|000026d0| 20 77 69 74 68 20 51 55 | 45 52 59 2e 0a 51 55 45 | with QU|ERY..QUE|
|000026e0| 52 59 20 63 61 6e 20 62 | 65 20 61 20 73 74 72 69 |RY can b|e a stri|
|000026f0| 6e 67 20 4e 41 4d 45 20 | 6f 72 20 61 20 6c 69 73 |ng NAME |or a lis|
|00002700| 74 20 6d 61 64 65 20 6f | 66 20 73 74 72 69 6e 67 |t made o|f string|
|00002710| 73 20 4e 41 4d 45 20 0a | 61 6e 64 2f 6f 72 20 63 |s NAME .|and/or c|
|00002720| 6f 6e 73 20 63 65 6c 6c | 73 20 28 4b 45 59 20 2e |ons cell|s (KEY .|
|00002730| 20 56 41 4c 55 45 29 20 | 77 68 65 72 65 20 4b 45 | VALUE) |where KE|
|00002740| 59 73 20 73 68 6f 75 6c | 64 20 62 65 20 76 61 6c |Ys shoul|d be val|
|00002750| 69 64 20 0a 43 43 53 4f | 20 64 61 74 61 62 61 73 |id .CCSO| databas|
|00002760| 65 20 6b 65 79 73 2e 20 | 4e 41 4d 45 20 69 73 20 |e keys. |NAME is |
|00002770| 65 71 75 69 76 61 6c 65 | 6e 74 20 74 6f 20 28 44 |equivale|nt to (D|
|00002780| 45 46 41 55 4c 54 20 2e | 20 4e 41 4d 45 29 20 77 |EFAULT .| NAME) w|
|00002790| 68 65 72 65 20 0a 44 45 | 46 41 55 4c 54 20 69 73 |here .DE|FAULT is|
|000027a0| 20 74 68 65 20 64 65 66 | 61 75 6c 74 20 6b 65 79 | the def|ault key|
|000027b0| 20 6f 66 20 74 68 65 20 | 64 61 74 61 62 61 73 65 | of the |database|
|000027c0| 29 20 0a 52 45 54 55 52 | 4e 2d 46 49 45 4c 44 53 |) .RETUR|N-FIELDS|
|000027d0| 20 69 73 20 61 20 6c 69 | 73 74 20 6f 66 20 64 61 | is a li|st of da|
|000027e0| 74 61 62 61 73 65 20 66 | 69 65 6c 64 73 20 74 6f |tabase f|ields to|
|000027f0| 20 72 65 74 75 72 6e 20 | 64 65 66 61 75 6c 74 69 | return |defaulti|
|00002800| 6e 67 20 74 6f 20 0a 70 | 68 2d 64 65 66 61 75 6c |ng to .p|h-defaul|
|00002810| 74 2d 72 65 74 75 72 6e | 2d 66 69 65 6c 64 73 2e |t-return|-fields.|
|00002820| 1f 0a 28 64 65 66 61 6c | 69 61 73 20 27 70 68 2d |..(defal|ias 'ph-|
|00002830| 71 75 65 72 79 2d 69 6e | 74 65 72 6e 61 6c 20 23 |query-in|ternal #|
|00002840| 5b 28 71 75 65 72 79 20 | 26 6f 70 74 69 6f 6e 61 |[(query |&optiona|
|00002850| 6c 20 72 65 74 75 72 6e | 2d 66 69 65 6c 64 73 29 |l return|-fields)|
|00002860| 20 22 c0 19 5c 6e ac 82 | 0b 12 c4 0d 3b ab 83 0d | "..\n..|....;...|
|00002870| aa 85 c6 c7 0d c8 23 5c | 6e ad 87 c9 c6 ca 5c 6e |......#\|n.....\n|
|00002880| c8 23 50 51 89 11 47 cb | 56 ad 88 cc 09 21 ad 83 |.#PQ..G.|V....!..|
|00002890| cd 5c 6e 21 29 87 22 20 | 5b 6e 69 6c 20 72 65 71 |.\n!)." |[nil req|
|000028a0| 75 65 73 74 20 72 65 74 | 75 72 6e 2d 66 69 65 6c |uest ret|urn-fiel|
|000028b0| 64 73 20 70 68 2d 64 65 | 66 61 75 6c 74 2d 72 65 |ds ph-de|fault-re|
|000028c0| 74 75 72 6e 2d 66 69 65 | 6c 64 73 20 22 71 75 65 |turn-fie|lds "que|
|000028d0| 72 79 20 22 20 71 75 65 | 72 79 20 6d 61 70 63 6f |ry " que|ry mapco|
|000028e0| 6e 63 61 74 20 23 5b 28 | 65 6c 74 29 20 22 c0 c1 |ncat #[(|elt) "..|
|000028f0| 5c 6e 40 5c 6e 41 23 87 | 22 20 5b 66 6f 72 6d 61 |\n@\nA#.|" [forma|
|00002900| 74 20 22 25 73 3d 25 73 | 22 20 65 6c 74 5d 20 34 |t "%s=%s|" elt] 4|
|00002910| 5d 20 22 20 22 20 22 20 | 72 65 74 75 72 6e 20 22 |] " " " |return "|
|00002920| 20 73 79 6d 62 6f 6c 2d | 6e 61 6d 65 20 36 20 70 | symbol-|name 6 p|
|00002930| 68 2d 64 6f 2d 72 65 71 | 75 65 73 74 20 70 68 2d |h-do-req|uest ph-|
|00002940| 70 61 72 73 65 2d 71 75 | 65 72 79 2d 72 65 73 75 |parse-qu|ery-resu|
|00002950| 6c 74 5d 20 38 20 28 23 | 24 20 2e 20 39 39 31 34 |lt] 8 (#|$ . 9914|
|00002960| 29 5d 29 0a 23 40 31 31 | 34 20 52 65 74 75 72 6e |)]).#@11|4 Return|
|00002970| 20 61 20 6c 69 73 74 20 | 6f 66 20 61 6c 69 73 74 | a list |of alist|
|00002980| 73 20 6f 66 20 6b 65 79 | 2f 76 61 6c 75 65 73 20 |s of key|/values |
|00002990| 66 72 6f 6d 20 74 68 65 | 20 72 65 63 6f 72 64 20 |from the| record |
|000029a0| 69 6e 20 70 68 2d 70 72 | 6f 63 65 73 73 2d 62 75 |in ph-pr|ocess-bu|
|000029b0| 66 66 65 72 2e 20 0a 46 | 69 65 6c 64 73 20 6e 6f |ffer. .F|ields no|
|000029c0| 74 20 69 6e 20 46 49 45 | 4c 44 53 20 61 72 65 20 |t in FIE|LDS are |
|000029d0| 64 69 73 63 61 72 64 65 | 64 2e 1f 0a 28 64 65 66 |discarde|d...(def|
|000029e0| 61 6c 69 61 73 20 27 70 | 68 2d 70 61 72 73 65 2d |alias 'p|h-parse-|
|000029f0| 71 75 65 72 79 2d 72 65 | 73 75 6c 74 20 23 5b 28 |query-re|sult #[(|
|00002a00| 26 6f 70 74 69 6f 6e 61 | 6c 20 66 69 65 6c 64 73 |&optiona|l fields|
|00002a10| 29 20 22 c0 89 89 89 89 | 89 89 19 1a 1b 1c 1d 1e |) ".....|........|
|00002a20| 06 1e 07 8a c8 c9 21 88 | 0e 5c 6e 71 88 65 62 88 |......!.|.\nq.eb.|
|00002a30| cb cc c0 cd 23 ab b7 c1 | ce 8d 88 09 ac 72 0e 0f |....#...|.....r..|
|00002a40| ab 8e d0 0e 0f 73 ac 88 | 0e 07 9f 89 16 07 ab 60 |.....s..|.......`|
|00002a50| 0e 11 d2 61 ac 86 d3 0e | 07 21 aa 83 0e 07 43 89 |...a....|.!....C.|
|00002a60| 16 07 ab 4c d4 0e 07 0e | 06 5c 22 16 06 aa 42 29 |...L....|.\"...B)|
|00002a70| c8 d5 21 88 0e 06 2e 07 | 87 22 20 5b 6e 69 6c 20 |..!.....|." [nil |
|00002a80| 69 67 6e 6f 72 65 20 76 | 61 6c 75 65 20 6b 65 79 |ignore v|alue key|
|00002a90| 20 63 75 72 72 65 6e 74 | 2d 6b 65 79 20 6c 69 6e | current|-key lin|
|00002aa0| 65 2d 72 65 67 65 78 70 | 20 72 65 63 6f 72 64 73 |e-regexp| records|
|00002ab0| 20 72 65 63 6f 72 64 20 | 6d 65 73 73 61 67 65 20 | record |message |
|00002ac0| 22 50 61 72 73 69 6e 67 | 20 72 65 73 75 6c 74 73 |"Parsing| results|
|00002ad0| 2e 2e 2e 22 20 70 68 2d | 70 72 6f 63 65 73 73 2d |..." ph-|process-|
|00002ae0| 62 75 66 66 65 72 20 72 | 65 2d 73 65 61 72 63 68 |buffer r|e-search|
|00002af0| 2d 66 6f 72 77 61 72 64 | 20 22 5e 5c 5c 28 2d 5b |-forward| "^\\(-[|
|00002b00| 30 2d 39 5d 2b 5c 5c 29 | 3a 5c 5c 28 5b 30 2d 39 |0-9]+\\)|:\\([0-9|
|00002b10| 5d 2b 5c 5c 29 3a 22 20 | 74 20 28 62 79 74 65 2d |]+\\):" |t (byte-|
|00002b20| 63 6f 64 65 20 22 c0 c1 | c2 21 c3 51 14 c5 79 88 |code "..|.!.Q..y.|
|00002b30| c6 16 07 c6 16 08 c6 16 | 09 ca 0c c6 cb 23 ab 86 |........|.....#..|
|00002b40| cc cd 8d 88 aa 73 c6 87 | 22 20 5b 22 5e 5c 5c 28 |.....s..|" ["^\\(|
|00002b50| 2d 5b 30 2d 39 5d 2b 5c | 5c 29 3a 22 20 6d 61 74 |-[0-9]+\|\):" mat|
|00002b60| 63 68 2d 73 74 72 69 6e | 67 20 32 20 22 3a 5b 20 |ch-strin|g 2 ":[ |
|00002b70| 09 5d 2a 5c 5c 28 5b 2d | 61 2d 7a 41 2d 5a 5f 5d |.]*\\([-|a-zA-Z_]|
|00002b80| 2a 5c 5c 29 3f 3a 5b 20 | 09 5d 2a 5c 5c 28 2e 2a |*\\)?:[ |.]*\\(.*|
|00002b90| 5c 5c 29 24 22 20 6c 69 | 6e 65 2d 72 65 67 65 78 |\\)$" li|ne-regex|
|00002ba0| 70 20 30 20 6e 69 6c 20 | 72 65 63 6f 72 64 20 69 |p 0 nil |record i|
|00002bb0| 67 6e 6f 72 65 20 63 75 | 72 72 65 6e 74 2d 6b 65 |gnore cu|rrent-ke|
|00002bc0| 79 20 72 65 2d 73 65 61 | 72 63 68 2d 66 6f 72 77 |y re-sea|rch-forw|
|00002bd0| 61 72 64 20 74 20 73 6b | 69 70 2d 6c 69 6e 65 20 |ard t sk|ip-line |
|00002be0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c0 c1 21 c2 |(byte-co|de "..!.|
|00002bf0| 98 ab 9a 0b ac 87 c4 c5 | c6 5c 22 88 aa 90 c7 0e |........|.\".....|
|00002c00| 08 c9 c6 23 ac 78 c6 16 | 5c 6e c4 ca c6 5c 22 88 |...#.x..|\n...\".|
|00002c10| c0 cb 21 cc 98 3f ad 85 | cd c0 cb 21 21 16 0e c0 |..!..?..|...!!...|
|00002c20| cf 21 16 10 0e 11 ab 8c | 0e 0e 0e 11 61 ab 85 c9 |.!......|....a...|
|00002c30| 16 0e aa 84 0e 0e 16 11 | 0e 12 ab 8d d3 0e 12 73 |........|.......s|
|00002c40| ac 87 0e 11 0e 12 73 ab | ae 0e 0e ab 8c 0e 0e 0e |......s.|........|
|00002c50| 10 42 0e 14 42 16 14 aa | 9e 0e 14 40 0e 14 40 41 |.B..B...|...@..@A|
|00002c60| 3c ab 8b d5 0e 14 40 41 | 0e 10 43 5c 22 aa 87 0e |<.....@A|..C\"...|
|00002c70| 14 40 41 0e 10 44 a1 88 | c9 87 22 20 5b 6d 61 74 |.@A..D..|.." [mat|
|00002c80| 63 68 2d 73 74 72 69 6e | 67 20 31 20 22 2d 35 30 |ch-strin|g 1 "-50|
|00002c90| 38 22 20 70 68 2d 73 74 | 72 69 63 74 2d 72 65 74 |8" ph-st|rict-ret|
|00002ca0| 75 72 6e 2d 6d 61 74 63 | 68 65 73 20 74 68 72 6f |urn-matc|hes thro|
|00002cb0| 77 20 73 6b 69 70 2d 6c | 69 6e 65 20 74 20 72 65 |w skip-l|ine t re|
|00002cc0| 2d 73 65 61 72 63 68 2d | 66 6f 72 77 61 72 64 20 |-search-|forward |
|00002cd0| 6c 69 6e 65 2d 72 65 67 | 65 78 70 20 6e 69 6c 20 |line-reg|exp nil |
|00002ce0| 69 67 6e 6f 72 65 20 32 | 20 22 22 20 69 6e 74 65 |ignore 2| "" inte|
|00002cf0| 72 6e 20 6b 65 79 20 33 | 20 76 61 6c 75 65 20 63 |rn key 3| value c|
|00002d00| 75 72 72 65 6e 74 2d 6b | 65 79 20 66 69 65 6c 64 |urrent-k|ey field|
|00002d10| 73 20 61 6c 6c 20 72 65 | 63 6f 72 64 20 61 70 70 |s all re|cord app|
|00002d20| 65 6e 64 5d 20 34 29 5d | 20 34 29 20 66 69 65 6c |end] 4)]| 4) fiel|
|00002d30| 64 73 20 61 6c 6c 20 70 | 68 2d 64 75 70 6c 69 63 |ds all p|h-duplic|
|00002d40| 61 74 65 2d 66 69 65 6c | 64 73 2d 68 61 6e 64 6c |ate-fiel|ds-handl|
|00002d50| 69 6e 67 2d 6d 65 74 68 | 6f 64 20 6c 69 73 74 20 |ing-meth|od list |
|00002d60| 70 68 2d 66 69 6c 74 65 | 72 2d 64 75 70 6c 69 63 |ph-filte|r-duplic|
|00002d70| 61 74 65 2d 66 69 65 6c | 64 73 20 61 70 70 65 6e |ate-fiel|ds appen|
|00002d80| 64 20 22 44 6f 6e 65 22 | 5d 20 37 20 28 23 24 20 |d "Done"|] 7 (#$ |
|00002d90| 2e 20 31 30 36 30 32 29 | 5d 29 0a 23 40 36 35 20 |. 10602)|]).#@65 |
|00002da0| 46 69 6c 74 65 72 20 52 | 45 43 4f 52 44 20 61 63 |Filter R|ECORD ac|
|00002db0| 63 6f 72 64 69 6e 67 20 | 74 6f 20 70 68 2d 64 75 |cording |to ph-du|
|00002dc0| 70 6c 69 63 61 74 65 2d | 66 69 65 6c 64 73 2d 68 |plicate-|fields-h|
|00002dd0| 61 6e 64 6c 69 6e 67 2d | 6d 65 74 68 6f 64 2e 1f |andling-|method..|
|00002de0| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 70 68 2d 66 |.(defali|as 'ph-f|
|00002df0| 69 6c 74 65 72 2d 64 75 | 70 6c 69 63 61 74 65 2d |ilter-du|plicate-|
|00002e00| 66 69 65 6c 64 73 20 23 | 5b 28 72 65 63 6f 72 64 |fields #|[(record|
|00002e10| 29 20 22 08 c1 89 89 1a | 1b 1c 89 1d ab 8c 0d 40 |) ".....|.......@|
|00002e20| 41 3c ac 86 0d 41 89 15 | ac 74 0d 40 41 ac 84 08 |A<...A..|.t.@A...|
|00002e30| 43 aa 8e c6 c7 08 5c 22 | 88 0c 43 12 c6 c8 0b 5c |C.....\"|..C....\|
|00002e40| 22 88 5c 6e 2c 87 22 20 | 5b 72 65 63 6f 72 64 20 |".\n,." |[record |
|00002e50| 6e 69 6c 20 72 65 73 75 | 6c 74 20 64 75 70 6c 69 |nil resu|lt dupli|
|00002e60| 63 61 74 65 73 20 75 6e | 69 71 75 65 20 72 65 63 |cates un|ique rec|
|00002e70| 20 6d 61 70 63 61 72 20 | 23 5b 28 66 69 65 6c 64 | mapcar |#[(field|
|00002e80| 29 20 22 08 41 3c ab 86 | 08 09 42 89 11 87 08 5c |) ".A<..|..B....\|
|00002e90| 6e 42 89 12 87 22 20 5b | 66 69 65 6c 64 20 64 75 |nB..." [|field du|
|00002ea0| 70 6c 69 63 61 74 65 73 | 20 75 6e 69 71 75 65 5d |plicates| unique]|
|00002eb0| 20 32 5d 20 23 5b 28 66 | 69 65 6c 64 29 20 22 08 | 2] #[(f|ield) ".|
|00002ec0| 3a ab 87 09 40 08 b7 41 | aa 81 08 89 1a ab 85 5c |:...@..A|.......\|
|00002ed0| 6e c3 61 ab 88 c4 09 0d | 5c 22 89 15 aa b2 5c 6e |n.a.....|\"....\n|
|00002ee0| c6 61 ab 8d c4 09 40 09 | 41 40 42 0d 5c 22 89 15 |.a....@.|A@B.\"..|
|00002ef0| aa a0 5c 6e c7 61 ab 90 | c4 09 40 c8 c9 09 41 ca |..\n.a..|..@...A.|
|00002f00| 23 42 0d 5c 22 89 15 aa | 8b 5c 6e cb 61 ad 86 cc |#B.\"...|.\n.a...|
|00002f10| 09 0d 5c 22 89 15 29 87 | 22 20 5b 70 68 2d 64 75 |..\"..).|" [ph-du|
|00002f20| 70 6c 69 63 61 74 65 2d | 66 69 65 6c 64 73 2d 68 |plicate-|fields-h|
|00002f30| 61 6e 64 6c 69 6e 67 2d | 6d 65 74 68 6f 64 20 66 |andling-|method f|
|00002f40| 69 65 6c 64 20 6d 65 74 | 68 6f 64 20 6c 69 73 74 |ield met|hod list|
|00002f50| 20 70 68 2d 61 64 64 2d | 66 69 65 6c 64 2d 74 6f | ph-add-|field-to|
|00002f60| 2d 72 65 63 6f 72 64 73 | 20 72 65 73 75 6c 74 20 |-records| result |
|00002f70| 66 69 72 73 74 20 63 6f | 6e 63 61 74 20 6d 61 70 |first co|ncat map|
|00002f80| 63 6f 6e 63 61 74 20 69 | 64 65 6e 74 69 74 79 20 |concat i|dentity |
|00002f90| 22 5c 6e 22 20 64 75 70 | 6c 69 63 61 74 65 20 70 |"\n" dup|licate p|
|00002fa0| 68 2d 64 69 73 74 72 69 | 62 75 74 65 2d 66 69 65 |h-distri|bute-fie|
|00002fb0| 6c 64 2d 6f 6e 2d 72 65 | 63 6f 72 64 73 5d 20 37 |ld-on-re|cords] 7|
|00002fc0| 5d 5d 20 35 20 28 23 24 | 20 2e 20 31 31 36 38 30 |]] 5 (#$| . 11680|
|00002fd0| 29 5d 29 0a 23 40 37 39 | 20 41 64 64 20 46 49 45 |)]).#@79| Add FIE|
|00002fe0| 4c 44 20 74 6f 20 65 61 | 63 68 20 69 6e 64 69 76 |LD to ea|ch indiv|
|00002ff0| 69 64 75 61 6c 20 72 65 | 63 6f 72 64 20 69 6e 20 |idual re|cord in |
|00003000| 52 45 43 4f 52 44 53 20 | 61 6e 64 20 72 65 74 75 |RECORDS |and retu|
|00003010| 72 6e 20 74 68 65 20 72 | 65 73 75 6c 74 69 6e 67 |rn the r|esulting|
|00003020| 20 6c 69 73 74 2e 1f 0a | 28 64 65 66 61 6c 69 61 | list...|(defalia|
|00003030| 73 20 27 70 68 2d 61 64 | 64 2d 66 69 65 6c 64 2d |s 'ph-ad|d-field-|
|00003040| 74 6f 2d 72 65 63 6f 72 | 64 73 20 23 5b 28 66 69 |to-recor|ds #[(fi|
|00003050| 65 6c 64 20 72 65 63 6f | 72 64 73 29 20 22 c0 c1 |eld reco|rds) "..|
|00003060| 5c 6e 5c 22 87 22 20 5b | 6d 61 70 63 61 72 20 23 |\n\"." [|mapcar #|
|00003070| 5b 28 72 29 20 22 08 09 | 42 87 22 20 5b 66 69 65 |[(r) "..|B." [fie|
|00003080| 6c 64 20 72 5d 20 32 5d | 20 72 65 63 6f 72 64 73 |ld r] 2]| records|
|00003090| 5d 20 33 20 28 23 24 20 | 2e 20 31 32 32 34 39 29 |] 3 (#$ |. 12249)|
|000030a0| 5d 29 0a 23 40 31 34 34 | 20 44 75 70 6c 69 63 61 |]).#@144| Duplica|
|000030b0| 74 65 20 65 61 63 68 20 | 69 6e 64 69 76 69 64 75 |te each |individu|
|000030c0| 61 6c 20 72 65 63 6f 72 | 64 20 69 6e 20 52 45 43 |al recor|d in REC|
|000030d0| 4f 52 44 53 20 61 63 63 | 6f 72 64 69 6e 67 20 74 |ORDS acc|ording t|
|000030e0| 6f 20 76 61 6c 75 65 20 | 6f 66 20 46 49 45 4c 44 |o value |of FIELD|
|000030f0| 2e 0a 45 61 63 68 20 63 | 6f 70 79 20 69 73 20 61 |..Each c|opy is a|
|00003100| 64 64 65 64 20 61 20 6e | 65 77 20 66 69 65 6c 64 |dded a n|ew field|
|00003110| 20 63 6f 6e 74 61 69 6e | 69 6e 67 20 6f 6e 65 20 | contain|ing one |
|00003120| 6f 66 20 74 68 65 20 76 | 61 6c 75 65 73 20 6f 66 |of the v|alues of|
|00003130| 20 46 49 45 4c 44 2e 1f | 0a 28 64 65 66 61 6c 69 | FIELD..|.(defali|
|00003140| 61 73 20 27 70 68 2d 64 | 69 73 74 72 69 62 75 74 |as 'ph-d|istribut|
|00003150| 65 2d 66 69 65 6c 64 2d | 6f 6e 2d 72 65 63 6f 72 |e-field-|on-recor|
|00003160| 64 73 20 23 5b 28 66 69 | 65 6c 64 20 72 65 63 6f |ds #[(fi|eld reco|
|00003170| 72 64 73 29 20 22 c0 09 | 41 1a 1b 5c 6e ab 8f 5c |rds) "..|A..\n..\|
|00003180| 6e c4 5c 6e 40 5c 6e 41 | 5c 22 a1 88 5c 6e 41 89 |n.\n@\nA|\"..\nA.|
|00003190| 12 ac 71 c5 c6 09 41 5c | 22 88 0b 2a 87 22 20 5b |..q...A\|"..*." [|
|000031a0| 6e 69 6c 20 66 69 65 6c | 64 20 76 61 6c 75 65 73 |nil fiel|d values|
|000031b0| 20 72 65 73 75 6c 74 20 | 64 65 6c 65 74 65 20 6d | result |delete m|
|000031c0| 61 70 63 61 72 20 23 5b | 28 76 61 6c 75 65 29 20 |apcar #[|(value) |
|000031d0| 22 c0 09 21 1a c3 0c 40 | 0d 42 5c 6e 5c 22 12 c6 |"..!...@|.B\n\"..|
|000031e0| 5c 6e 0e 07 5c 22 89 16 | 07 29 87 22 20 5b 63 6f |\n..\"..|.)." [co|
|000031f0| 70 79 2d 73 65 71 75 65 | 6e 63 65 20 72 65 63 6f |py-seque|nce reco|
|00003200| 72 64 73 20 72 65 73 75 | 6c 74 2d 6c 69 73 74 20 |rds resu|lt-list |
|00003210| 70 68 2d 61 64 64 2d 66 | 69 65 6c 64 2d 74 6f 2d |ph-add-f|ield-to-|
|00003220| 72 65 63 6f 72 64 73 20 | 66 69 65 6c 64 20 76 61 |records |field va|
|00003230| 6c 75 65 20 61 70 70 65 | 6e 64 20 72 65 73 75 6c |lue appe|nd resul|
|00003240| 74 5d 20 33 5d 5d 20 35 | 20 28 23 24 20 2e 20 31 |t] 3]] 5| (#$ . 1|
|00003250| 32 34 35 37 29 5d 29 0a | 23 40 38 34 20 53 65 6e |2457)]).|#@84 Sen|
|00003260| 64 20 52 45 51 55 45 53 | 54 20 74 6f 20 74 68 65 |d REQUES|T to the|
|00003270| 20 73 65 72 76 65 72 2e | 20 57 61 69 74 20 66 6f | server.| Wait fo|
|00003280| 72 20 72 65 73 70 6f 6e | 73 65 20 61 6e 64 20 72 |r respon|se and r|
|00003290| 65 74 75 72 6e 20 74 68 | 65 20 62 75 66 66 65 72 |eturn th|e buffer|
|000032a0| 20 63 6f 6e 74 61 69 6e | 69 6e 67 20 69 74 2e 1f | contain|ing it..|
|000032b0| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 70 68 2d 64 |.(defali|as 'ph-d|
|000032c0| 6f 2d 72 65 71 75 65 73 | 74 20 23 5b 28 72 65 71 |o-reques|t #[(req|
|000032d0| 75 65 73 74 29 20 22 c0 | 89 19 1a c3 8e c4 c5 21 |uest) ".|.......!|
|000032e0| 88 c6 20 89 12 ab 97 8a | c7 5c 6e 21 89 11 71 88 |.. .....|.\n!..q.|
|000032f0| c8 5c 6e 0e 09 5c 22 88 | c4 ca 21 88 cb 5c 6e 21 |.\n..\".|..!..\n!|
|00003300| 88 29 29 09 2a 87 22 20 | 5b 6e 69 6c 20 62 75 66 |.)).*." |[nil buf|
|00003310| 66 65 72 20 70 72 6f 63 | 65 73 73 20 28 28 62 79 |fer proc|ess ((by|
|00003320| 74 65 2d 63 6f 64 65 20 | 22 08 ab 84 c1 08 21 88 |te-code |".....!.|
|00003330| c1 87 22 20 5b 70 72 6f | 63 65 73 73 20 70 68 2d |.." [pro|cess ph-|
|00003340| 63 6c 6f 73 65 2d 73 65 | 73 73 69 6f 6e 5d 20 32 |close-se|ssion] 2|
|00003350| 29 29 20 6d 65 73 73 61 | 67 65 20 22 43 6f 6e 74 |)) messa|ge "Cont|
|00003360| 61 63 74 69 6e 67 20 73 | 65 72 76 65 72 2e 2e 2e |acting s|erver...|
|00003370| 22 20 70 68 2d 6f 70 65 | 6e 2d 73 65 73 73 69 6f |" ph-ope|n-sessio|
|00003380| 6e 20 70 72 6f 63 65 73 | 73 2d 62 75 66 66 65 72 |n proces|s-buffer|
|00003390| 20 70 68 2d 73 65 6e 64 | 2d 63 6f 6d 6d 61 6e 64 | ph-send|-command|
|000033a0| 20 72 65 71 75 65 73 74 | 20 22 52 65 71 75 65 73 | request| "Reques|
|000033b0| 74 20 73 65 6e 74 2c 20 | 77 61 69 74 69 6e 67 20 |t sent, |waiting |
|000033c0| 66 6f 72 20 72 65 70 6c | 79 2e 2e 2e 22 20 70 68 |for repl|y..." ph|
|000033d0| 2d 72 65 61 64 2d 72 65 | 73 70 6f 6e 73 65 5d 20 |-read-re|sponse] |
|000033e0| 34 20 28 23 24 20 2e 20 | 31 32 38 39 33 29 5d 29 |4 (#$ . |12893)])|
|000033f0| 0a 23 40 31 31 32 20 4f | 70 65 6e 20 61 20 63 6f |.#@112 O|pen a co|
|00003400| 6e 6e 65 63 74 69 6f 6e | 20 74 6f 20 74 68 65 20 |nnection| to the |
|00003410| 67 69 76 65 6e 20 43 43 | 53 4f 20 53 45 52 56 45 |given CC|SO SERVE|
|00003420| 52 2e 0a 53 45 52 56 45 | 52 20 69 73 20 65 69 74 |R..SERVE|R is eit|
|00003430| 68 65 72 20 61 20 73 74 | 72 69 6e 67 20 6e 61 6d |her a st|ring nam|
|00003440| 69 6e 67 20 74 68 65 20 | 73 65 72 76 65 72 20 6f |ing the |server o|
|00003450| 72 20 61 20 6c 69 73 74 | 20 28 4e 41 4d 45 20 50 |r a list| (NAME P|
|00003460| 4f 52 54 29 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |ORT)...(|defalias|
|00003470| 20 27 70 68 2d 6f 70 65 | 6e 2d 73 65 73 73 69 6f | 'ph-ope|n-sessio|
|00003480| 6e 20 23 5b 28 26 6f 70 | 74 69 6f 6e 61 6c 20 73 |n #[(&op|tional s|
|00003490| 65 72 76 65 72 29 20 22 | c0 89 89 19 1a 1b c4 c5 |erver) "|........|
|000034a0| 8d 2b 87 22 20 5b 6e 69 | 6c 20 70 6f 72 74 20 68 |.+." [ni|l port h|
|000034b0| 6f 73 74 20 70 72 6f 63 | 65 73 73 20 64 6f 6e 65 |ost proc|ess done|
|000034c0| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 08 ac 87 | (byte-c|ode "...|
|000034d0| 09 ae 83 c2 c3 21 10 c4 | c5 08 5c 22 88 c6 c7 08 |.....!..|..\"....|
|000034e0| 5c 22 16 08 c6 c9 08 5c | 22 ae 82 0e 5c 6e 16 0b |\".....\|"...\n..|
|000034f0| cc cd ce 0e 08 5c 22 21 | 16 0f 8a 0e 0f 71 88 d0 |.....\"!|.....q..|
|00003500| 20 88 60 16 11 0e 12 ab | 85 d3 d4 d5 5c 22 88 29 | .`.....|....\".)|
|00003510| d6 d7 0e 0f 0e 08 0e 0b | 24 89 16 18 ac 85 d9 da |........|$.......|
|00003520| db 5c 22 88 dc 0e 18 21 | 88 0e 18 87 22 20 5b 73 |.\"....!|...." [s|
|00003530| 65 72 76 65 72 20 70 68 | 2d 73 65 72 76 65 72 20 |erver ph|-server |
|00003540| 63 61 6c 6c 2d 69 6e 74 | 65 72 61 63 74 69 76 65 |call-int|eractive|
|00003550| 6c 79 20 70 68 2d 73 65 | 74 2d 73 65 72 76 65 72 |ly ph-se|t-server|
|00003560| 20 73 74 72 69 6e 67 2d | 6d 61 74 63 68 20 22 5c | string-|match "\|
|00003570| 5c 28 2e 2a 5c 5c 29 5c | 5c 28 3a 5c 5c 28 2e 2a |\(.*\\)\|\(:\\(.*|
|00003580| 5c 5c 29 5c 5c 29 3f 22 | 20 6d 61 74 63 68 2d 73 |\\)\\)?"| match-s|
|00003590| 74 72 69 6e 67 20 31 20 | 68 6f 73 74 20 33 20 70 |tring 1 |host 3 p|
|000035a0| 68 2d 64 65 66 61 75 6c | 74 2d 73 65 72 76 65 72 |h-defaul|t-server|
|000035b0| 2d 70 6f 72 74 20 70 6f | 72 74 20 67 65 74 2d 62 |-port po|rt get-b|
|000035c0| 75 66 66 65 72 2d 63 72 | 65 61 74 65 20 66 6f 72 |uffer-cr|eate for|
|000035d0| 6d 61 74 20 22 20 2a 50 | 48 2d 25 73 2a 22 20 70 |mat " *P|H-%s*" p|
|000035e0| 68 2d 70 72 6f 63 65 73 | 73 2d 62 75 66 66 65 72 |h-proces|s-buffer|
|000035f0| 20 65 72 61 73 65 2d 62 | 75 66 66 65 72 20 70 68 | erase-b|uffer ph|
|00003600| 2d 72 65 61 64 2d 70 6f | 69 6e 74 20 70 68 2d 78 |-read-po|int ph-x|
|00003610| 65 6d 61 63 73 2d 6d 75 | 6c 65 2d 70 20 73 65 74 |emacs-mu|le-p set|
|00003620| 2d 62 75 66 66 65 72 2d | 66 69 6c 65 2d 63 6f 64 |-buffer-|file-cod|
|00003630| 69 6e 67 2d 73 79 73 74 | 65 6d 20 62 69 6e 61 72 |ing-syst|em binar|
|00003640| 79 20 74 20 6f 70 65 6e | 2d 6e 65 74 77 6f 72 6b |y t open|-network|
|00003650| 2d 73 74 72 65 61 6d 20 | 22 70 68 22 20 70 72 6f |-stream |"ph" pro|
|00003660| 63 65 73 73 20 74 68 72 | 6f 77 20 64 6f 6e 65 20 |cess thr|ow done |
|00003670| 6e 69 6c 20 70 72 6f 63 | 65 73 73 2d 6b 69 6c 6c |nil proc|ess-kill|
|00003680| 2d 77 69 74 68 6f 75 74 | 2d 71 75 65 72 79 5d 20 |-without|-query] |
|00003690| 36 29 5d 20 33 20 28 23 | 24 20 2e 20 31 33 33 30 |6)] 3 (#|$ . 1330|
|000036a0| 33 29 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |3)]).(de|falias '|
|000036b0| 70 68 2d 63 6c 6f 73 65 | 2d 73 65 73 73 69 6f 6e |ph-close|-session|
|000036c0| 20 23 5b 28 70 72 6f 63 | 65 73 73 29 20 22 8a c0 | #[(proc|ess) "..|
|000036d0| 09 21 71 88 c2 09 c3 5c | 22 88 c4 09 21 88 c5 c6 |.!q....\|"...!...|
|000036e0| 21 ab 87 c6 c7 c8 09 23 | aa 86 c9 ca cb c8 09 24 |!......#|.......$|
|000036f0| 29 87 22 20 5b 70 72 6f | 63 65 73 73 2d 62 75 66 |)." [pro|cess-buf|
|00003700| 66 65 72 20 70 72 6f 63 | 65 73 73 20 70 68 2d 73 |fer proc|ess ph-s|
|00003710| 65 6e 64 2d 63 6f 6d 6d | 61 6e 64 20 22 71 75 69 |end-comm|and "qui|
|00003720| 74 22 20 70 68 2d 72 65 | 61 64 2d 72 65 73 70 6f |t" ph-re|ad-respo|
|00003730| 6e 73 65 20 66 62 6f 75 | 6e 64 70 20 61 64 64 2d |nse fbou|ndp add-|
|00003740| 61 73 79 6e 63 2d 74 69 | 6d 65 6f 75 74 20 31 30 |async-ti|meout 10|
|00003750| 20 64 65 6c 65 74 65 2d | 70 72 6f 63 65 73 73 20 | delete-|process |
|00003760| 72 75 6e 2d 61 74 2d 74 | 69 6d 65 20 32 20 6e 69 |run-at-t|ime 2 ni|
|00003770| 6c 5d 20 35 5d 29 0a 28 | 64 65 66 61 6c 69 61 73 |l] 5]).(|defalias|
|00003780| 20 27 70 68 2d 73 65 6e | 64 2d 63 6f 6d 6d 61 6e | 'ph-sen|d-comman|
|00003790| 64 20 23 5b 28 70 72 6f | 63 65 73 73 20 63 6f 6d |d #[(pro|cess com|
|000037a0| 6d 61 6e 64 29 20 22 64 | 62 88 c0 09 5c 6e 5c 22 |mand) "d|b...\n\"|
|000037b0| 88 c0 09 c3 5c 22 87 22 | 20 5b 70 72 6f 63 65 73 |....\"."| [proces|
|000037c0| 73 2d 73 65 6e 64 2d 73 | 74 72 69 6e 67 20 70 72 |s-send-s|tring pr|
|000037d0| 6f 63 65 73 73 20 63 6f | 6d 6d 61 6e 64 20 22 0d |ocess co|mmand ".|
|000037e0| 5c 6e 22 5d 20 33 5d 29 | 0a 23 40 32 31 35 20 52 |\n"] 3])|.#@215 R|
|000037f0| 65 61 64 20 61 20 72 65 | 73 70 6f 6e 73 65 20 66 |ead a re|sponse f|
|00003800| 72 6f 6d 20 74 68 65 20 | 50 48 2f 51 49 20 71 75 |rom the |PH/QI qu|
|00003810| 65 72 79 20 70 72 6f 63 | 65 73 73 20 50 52 4f 43 |ery proc|ess PROC|
|00003820| 45 53 53 2e 0a 52 65 74 | 75 72 6e 73 20 6e 69 6c |ESS..Ret|urns nil|
|00003830| 20 69 66 20 72 65 73 70 | 6f 6e 73 65 20 73 74 61 | if resp|onse sta|
|00003840| 72 74 73 20 77 69 74 68 | 20 61 6e 20 65 72 72 6f |rts with| an erro|
|00003850| 72 20 63 6f 64 65 2e 20 | 49 66 20 74 68 65 0a 72 |r code. |If the.r|
|00003860| 65 73 70 6f 6e 73 65 20 | 69 73 20 73 75 63 63 65 |esponse |is succe|
|00003870| 73 73 66 75 6c 20 74 68 | 65 20 72 65 74 75 72 6e |ssful th|e return|
|00003880| 20 63 6f 64 65 20 6f 72 | 20 74 68 65 20 72 65 70 | code or| the rep|
|00003890| 6f 6e 73 65 20 69 74 73 | 65 6c 66 20 69 73 20 72 |onse its|elf is r|
|000038a0| 65 74 75 72 6e 65 64 0a | 64 65 70 65 6e 64 69 6e |eturned.|dependin|
|000038b0| 67 20 6f 6e 20 52 45 54 | 55 52 4e 2d 52 45 53 50 |g on RET|URN-RESP|
|000038c0| 4f 4e 53 45 1f 0a 28 64 | 65 66 61 6c 69 61 73 20 |ONSE..(d|efalias |
|000038d0| 27 70 68 2d 72 65 61 64 | 2d 72 65 73 70 6f 6e 73 |'ph-read|-respons|
|000038e0| 65 20 23 5b 28 70 72 6f | 63 65 73 73 20 26 6f 70 |e #[(pro|cess &op|
|000038f0| 74 69 6f 6e 61 6c 20 72 | 65 74 75 72 6e 2d 72 65 |tional r|eturn-re|
|00003900| 73 70 6f 6e 73 65 29 20 | 22 c0 89 89 19 1a 1b 0c |sponse) |".......|
|00003910| 62 88 c5 c6 c0 c7 23 ac | 8a c8 0e 09 21 88 0c 62 |b.....#.|....!..b|
|00003920| 88 aa 6f 60 11 0c 62 88 | ca cb 21 89 12 ab 93 cc |..o`..b.|..!.....|
|00003930| 5c 6e 21 89 12 ab 8c cd | 5c 6e 21 ce 59 ab 85 09 |\n!.....|\n!.Y...|
|00003940| 14 c0 aa 8c 09 14 0e 0f | ab 85 60 09 7b aa 81 5c |........|..`.{..\|
|00003950| 6e 2b 87 22 20 5b 6e 69 | 6c 20 6d 61 74 63 68 2d |n+." [ni|l match-|
|00003960| 65 6e 64 20 72 65 74 75 | 72 6e 2d 63 6f 64 65 20 |end retu|rn-code |
|00003970| 63 61 73 65 2d 66 6f 6c | 64 2d 73 65 61 72 63 68 |case-fol|d-search|
|00003980| 20 70 68 2d 72 65 61 64 | 2d 70 6f 69 6e 74 20 72 | ph-read|-point r|
|00003990| 65 2d 73 65 61 72 63 68 | 2d 66 6f 72 77 61 72 64 |e-search|-forward|
|000039a0| 20 22 5e 5c 5c 28 5e 5b | 32 2d 35 5d 2e 2a 5c 5c | "^\\(^[|2-5].*\\|
|000039b0| 29 3a 2e 2a 5c 6e 22 20 | 74 20 61 63 63 65 70 74 |):.*\n" |t accept|
|000039c0| 2d 70 72 6f 63 65 73 73 | 2d 6f 75 74 70 75 74 20 |-process|-output |
|000039d0| 70 72 6f 63 65 73 73 20 | 6d 61 74 63 68 2d 73 74 |process |match-st|
|000039e0| 72 69 6e 67 20 31 20 73 | 74 72 69 6e 67 2d 74 6f |ring 1 s|tring-to|
|000039f0| 2d 6e 75 6d 62 65 72 20 | 61 62 73 20 33 30 30 20 |-number |abs 300 |
|00003a00| 72 65 74 75 72 6e 2d 72 | 65 73 70 6f 6e 73 65 5d |return-r|esponse]|
|00003a10| 20 34 20 28 23 24 20 2e | 20 31 34 33 31 39 29 5d | 4 (#$ .| 14319)]|
|00003a20| 29 0a 23 40 31 39 33 20 | 43 72 65 61 74 65 20 61 |).#@193 |Create a|
|00003a30| 20 42 42 44 42 20 72 65 | 63 6f 72 64 20 75 73 69 | BBDB re|cord usi|
|00003a40| 6e 67 20 74 68 65 20 52 | 45 43 4f 52 44 20 61 6c |ng the R|ECORD al|
|00003a50| 69 73 74 2e 0a 52 45 43 | 4f 52 44 20 69 73 20 61 |ist..REC|ORD is a|
|00003a60| 6e 20 61 6c 69 73 74 20 | 6f 66 20 28 4b 45 59 20 |n alist |of (KEY |
|00003a70| 2e 20 56 41 4c 55 45 29 | 20 77 68 65 72 65 20 4b |. VALUE)| where K|
|00003a80| 45 59 20 69 73 20 61 20 | 73 79 6d 62 6f 6c 20 6e |EY is a |symbol n|
|00003a90| 61 6d 69 6e 67 20 61 20 | 66 69 65 6c 64 0a 6f 66 |aming a |field.of|
|00003aa0| 20 74 68 65 20 50 48 2f | 51 49 20 64 61 74 61 62 | the PH/|QI datab|
|00003ab0| 61 73 65 20 61 6e 64 20 | 56 41 4c 55 45 20 69 73 |ase and |VALUE is|
|00003ac0| 20 74 68 65 20 63 6f 72 | 72 65 73 70 6f 6e 64 69 | the cor|respondi|
|00003ad0| 6e 67 20 76 61 6c 75 65 | 20 66 6f 72 20 74 68 65 |ng value| for the|
|00003ae0| 20 72 65 63 6f 72 64 1f | 0a 28 64 65 66 61 6c 69 | record.|.(defali|
|00003af0| 61 73 20 27 70 68 2d 63 | 72 65 61 74 65 2d 62 62 |as 'ph-c|reate-bb|
|00003b00| 64 62 2d 72 65 63 6f 72 | 64 20 23 5b 28 72 65 63 |db-recor|d #[(rec|
|00003b10| 6f 72 64 29 20 22 c0 c1 | c2 c3 c4 0d 5c 22 c6 5c |ord) "..|....\".\|
|00003b20| 22 c7 42 42 21 87 22 20 | 5b 65 76 61 6c 20 6c 65 |".BB!." |[eval le|
|00003b30| 74 2a 20 61 70 70 65 6e | 64 20 6d 61 70 63 61 72 |t* appen|d mapcar|
|00003b40| 20 23 5b 28 63 29 20 22 | 08 40 08 41 3c ab 86 c1 | #[(c) "|.@.A<...|
|00003b50| 08 41 44 aa 82 08 41 44 | 87 22 20 5b 63 20 71 75 |.AD...AD|." [c qu|
|00003b60| 6f 74 65 5d 20 33 5d 20 | 72 65 63 6f 72 64 20 28 |ote] 3] |record (|
|00003b70| 62 62 64 62 2d 6e 61 6d | 65 20 62 62 64 62 2d 63 |bbdb-nam|e bbdb-c|
|00003b80| 6f 6d 70 61 6e 79 20 62 | 62 64 62 2d 6e 65 74 20 |ompany b|bdb-net |
|00003b90| 62 62 64 62 2d 61 64 64 | 72 65 73 73 20 62 62 64 |bbdb-add|ress bbd|
|00003ba0| 62 2d 70 68 6f 6e 65 73 | 20 62 62 64 62 2d 6e 6f |b-phones| bbdb-no|
|00003bb0| 74 65 73 20 73 70 65 63 | 20 62 62 64 62 2d 72 65 |tes spec| bbdb-re|
|00003bc0| 63 6f 72 64 20 76 61 6c | 75 65 29 20 28 28 73 65 |cord val|ue) ((se|
|00003bd0| 74 71 20 62 62 64 62 2d | 6e 61 6d 65 20 28 70 68 |tq bbdb-|name (ph|
|00003be0| 2d 70 61 72 73 65 2d 73 | 70 65 63 20 28 63 64 72 |-parse-s|pec (cdr|
|00003bf0| 20 28 61 73 73 71 20 27 | 6e 61 6d 65 20 70 68 2d | (assq '|name ph-|
|00003c00| 62 62 64 62 2d 63 6f 6e | 76 65 72 73 69 6f 6e 2d |bbdb-con|version-|
|00003c10| 61 6c 69 73 74 29 29 20 | 72 65 63 6f 72 64 20 6e |alist)) |record n|
|00003c20| 69 6c 29 20 62 62 64 62 | 2d 63 6f 6d 70 61 6e 79 |il) bbdb|-company|
|00003c30| 20 28 70 68 2d 70 61 72 | 73 65 2d 73 70 65 63 20 | (ph-par|se-spec |
|00003c40| 28 63 64 72 20 28 61 73 | 73 71 20 27 63 6f 6d 70 |(cdr (as|sq 'comp|
|00003c50| 61 6e 79 20 70 68 2d 62 | 62 64 62 2d 63 6f 6e 76 |any ph-b|bdb-conv|
|00003c60| 65 72 73 69 6f 6e 2d 61 | 6c 69 73 74 29 29 20 72 |ersion-a|list)) r|
|00003c70| 65 63 6f 72 64 20 6e 69 | 6c 29 20 62 62 64 62 2d |ecord ni|l) bbdb-|
|00003c80| 6e 65 74 20 28 70 68 2d | 70 61 72 73 65 2d 73 70 |net (ph-|parse-sp|
|00003c90| 65 63 20 28 63 64 72 20 | 28 61 73 73 71 20 27 6e |ec (cdr |(assq 'n|
|00003ca0| 65 74 20 70 68 2d 62 62 | 64 62 2d 63 6f 6e 76 65 |et ph-bb|db-conve|
|00003cb0| 72 73 69 6f 6e 2d 61 6c | 69 73 74 29 29 20 72 65 |rsion-al|ist)) re|
|00003cc0| 63 6f 72 64 20 6e 69 6c | 29 20 62 62 64 62 2d 6e |cord nil|) bbdb-n|
|00003cd0| 6f 74 65 73 20 28 70 68 | 2d 70 61 72 73 65 2d 73 |otes (ph|-parse-s|
|00003ce0| 70 65 63 20 28 63 64 72 | 20 28 61 73 73 71 20 27 |pec (cdr| (assq '|
|00003cf0| 6e 6f 74 65 73 20 70 68 | 2d 62 62 64 62 2d 63 6f |notes ph|-bbdb-co|
|00003d00| 6e 76 65 72 73 69 6f 6e | 2d 61 6c 69 73 74 29 29 |nversion|-alist))|
|00003d10| 20 72 65 63 6f 72 64 20 | 6e 69 6c 29 29 20 28 73 | record |nil)) (s|
|00003d20| 65 74 71 20 73 70 65 63 | 20 28 63 64 72 20 28 61 |etq spec| (cdr (a|
|00003d30| 73 73 71 20 27 61 64 64 | 72 65 73 73 20 70 68 2d |ssq 'add|ress ph-|
|00003d40| 62 62 64 62 2d 63 6f 6e | 76 65 72 73 69 6f 6e 2d |bbdb-con|version-|
|00003d50| 61 6c 69 73 74 29 29 29 | 20 28 73 65 74 71 20 62 |alist)))| (setq b|
|00003d60| 62 64 62 2d 61 64 64 72 | 65 73 73 20 28 64 65 6c |bdb-addr|ess (del|
|00003d70| 71 20 6e 69 6c 20 28 70 | 68 2d 70 61 72 73 65 2d |q nil (p|h-parse-|
|00003d80| 73 70 65 63 20 28 69 66 | 20 28 6c 69 73 74 70 20 |spec (if| (listp |
|00003d90| 28 63 61 72 20 73 70 65 | 63 29 29 20 73 70 65 63 |(car spe|c)) spec|
|00003da0| 20 28 6c 69 73 74 20 73 | 70 65 63 29 29 20 72 65 | (list s|pec)) re|
|00003db0| 63 6f 72 64 20 74 29 29 | 29 20 28 73 65 74 71 20 |cord t))|) (setq |
|00003dc0| 73 70 65 63 20 28 63 64 | 72 20 28 61 73 73 71 20 |spec (cd|r (assq |
|00003dd0| 27 70 68 6f 6e 65 20 70 | 68 2d 62 62 64 62 2d 63 |'phone p|h-bbdb-c|
|00003de0| 6f 6e 76 65 72 73 69 6f | 6e 2d 61 6c 69 73 74 29 |onversio|n-alist)|
|00003df0| 29 29 20 28 73 65 74 71 | 20 62 62 64 62 2d 70 68 |)) (setq| bbdb-ph|
|00003e00| 6f 6e 65 73 20 28 64 65 | 6c 71 20 6e 69 6c 20 28 |ones (de|lq nil (|
|00003e10| 70 68 2d 70 61 72 73 65 | 2d 73 70 65 63 20 28 69 |ph-parse|-spec (i|
|00003e20| 66 20 28 6c 69 73 74 70 | 20 28 63 61 72 20 73 70 |f (listp| (car sp|
|00003e30| 65 63 29 29 20 73 70 65 | 63 20 28 6c 69 73 74 20 |ec)) spe|c (list |
|00003e40| 73 70 65 63 29 29 20 72 | 65 63 6f 72 64 20 74 29 |spec)) r|ecord t)|
|00003e50| 29 29 20 28 73 65 74 71 | 20 62 62 64 62 2d 6e 6f |)) (setq| bbdb-no|
|00003e60| 74 65 73 20 28 61 70 70 | 65 6e 64 20 28 6c 69 73 |tes (app|end (lis|
|00003e70| 74 20 28 61 6e 64 20 62 | 62 64 62 2d 6e 6f 74 65 |t (and b|bdb-note|
|00003e80| 73 20 28 63 6f 6e 73 20 | 27 6e 6f 74 65 73 20 62 |s (cons |'notes b|
|00003e90| 62 64 62 2d 6e 6f 74 65 | 73 29 29 29 20 28 6d 61 |bdb-note|s))) (ma|
|00003ea0| 70 63 61 72 20 28 66 75 | 6e 63 74 69 6f 6e 20 28 |pcar (fu|nction (|
|00003eb0| 6c 61 6d 62 64 61 20 28 | 6d 61 70 70 69 6e 67 29 |lambda (|mapping)|
|00003ec0| 20 28 69 66 20 28 61 6e | 64 20 28 6e 6f 74 20 28 | (if (an|d (not (|
|00003ed0| 6d 65 6d 71 20 28 63 61 | 72 20 6d 61 70 70 69 6e |memq (ca|r mappin|
|00003ee0| 67 29 20 27 28 6e 61 6d | 65 20 63 6f 6d 70 61 6e |g) '(nam|e compan|
|00003ef0| 79 20 6e 65 74 20 61 64 | 64 72 65 73 73 20 70 68 |y net ad|dress ph|
|00003f00| 6f 6e 65 20 6e 6f 74 65 | 73 29 29 29 20 28 73 65 |one note|s))) (se|
|00003f10| 74 71 20 76 61 6c 75 65 | 20 28 70 68 2d 70 61 72 |tq value| (ph-par|
|00003f20| 73 65 2d 73 70 65 63 20 | 28 63 64 72 20 6d 61 70 |se-spec |(cdr map|
|00003f30| 70 69 6e 67 29 20 72 65 | 63 6f 72 64 20 6e 69 6c |ping) re|cord nil|
|00003f40| 29 29 29 20 28 63 6f 6e | 73 20 28 63 61 72 20 6d |))) (con|s (car m|
|00003f50| 61 70 70 69 6e 67 29 20 | 76 61 6c 75 65 29 29 29 |apping) |value)))|
|00003f60| 29 20 70 68 2d 62 62 64 | 62 2d 63 6f 6e 76 65 72 |) ph-bbd|b-conver|
|00003f70| 73 69 6f 6e 2d 61 6c 69 | 73 74 29 29 29 20 28 73 |sion-ali|st))) (s|
|00003f80| 65 74 71 20 62 62 64 62 | 2d 6e 6f 74 65 73 20 28 |etq bbdb|-notes (|
|00003f90| 64 65 6c 71 20 6e 69 6c | 20 62 62 64 62 2d 6e 6f |delq nil| bbdb-no|
|00003fa0| 74 65 73 29 29 20 28 73 | 65 74 71 20 62 62 64 62 |tes)) (s|etq bbdb|
|00003fb0| 2d 72 65 63 6f 72 64 20 | 28 62 62 64 62 2d 63 72 |-record |(bbdb-cr|
|00003fc0| 65 61 74 65 2d 69 6e 74 | 65 72 6e 61 6c 20 62 62 |eate-int|ernal bb|
|00003fd0| 64 62 2d 6e 61 6d 65 20 | 62 62 64 62 2d 63 6f 6d |db-name |bbdb-com|
|00003fe0| 70 61 6e 79 20 62 62 64 | 62 2d 6e 65 74 20 62 62 |pany bbd|b-net bb|
|00003ff0| 64 62 2d 61 64 64 72 65 | 73 73 20 62 62 64 62 2d |db-addre|ss bbdb-|
|00004000| 70 68 6f 6e 65 73 20 62 | 62 64 62 2d 6e 6f 74 65 |phones b|bdb-note|
|00004010| 73 29 29 20 28 62 62 64 | 62 2d 64 69 73 70 6c 61 |s)) (bbd|b-displa|
|00004020| 79 2d 72 65 63 6f 72 64 | 73 20 28 6c 69 73 74 20 |y-record|s (list |
|00004030| 62 62 64 62 2d 72 65 63 | 6f 72 64 29 29 29 5d 20 |bbdb-rec|ord)))] |
|00004040| 36 20 28 23 24 20 2e 20 | 31 34 38 38 38 29 5d 29 |6 (#$ . |14888)])|
|00004050| 0a 23 40 31 30 34 20 50 | 61 72 73 65 20 74 68 65 |.#@104 P|arse the|
|00004060| 20 63 6f 6e 76 65 72 73 | 69 6f 6e 20 53 50 45 43 | convers|ion SPEC|
|00004070| 20 75 73 69 6e 67 20 52 | 45 43 4f 52 44 2e 20 0a | using R|ECORD. .|
|00004080| 49 66 20 52 45 43 55 52 | 53 45 20 69 73 20 6e 6f |If RECUR|SE is no|
|00004090| 6e 2d 6e 69 6c 20 74 68 | 65 6e 20 53 50 45 43 20 |n-nil th|en SPEC |
|000040a0| 6d 61 79 20 62 65 20 61 | 20 6c 69 73 74 20 6f 66 |may be a| list of|
|000040b0| 20 61 74 6f 6d 69 63 20 | 73 70 65 63 73 1f 0a 28 | atomic |specs..(|
|000040c0| 64 65 66 61 6c 69 61 73 | 20 27 70 68 2d 70 61 72 |defalias| 'ph-par|
|000040d0| 73 65 2d 73 70 65 63 20 | 23 5b 28 73 70 65 63 20 |se-spec |#[(spec |
|000040e0| 72 65 63 6f 72 64 20 72 | 65 63 75 72 73 65 29 20 |record r|ecurse) |
|000040f0| 22 08 3b ac 93 08 39 ac | 8f 08 3c ab 90 08 40 39 |".;...9.|..<...@9|
|00004100| ab 8b c1 08 40 21 ab 85 | c2 c3 c4 8f 87 0d ab 89 |....@!..|........|
|00004110| 08 3c ab 85 c6 c7 08 5c | 22 87 c8 c9 08 5c 22 87 |.<.....\|"....\".|
|00004120| 22 20 5b 73 70 65 63 20 | 66 62 6f 75 6e 64 70 20 |" [spec |fboundp |
|00004130| 6e 69 6c 20 28 65 76 61 | 6c 20 73 70 65 63 29 20 |nil (eva|l spec) |
|00004140| 28 28 76 6f 69 64 2d 76 | 61 72 69 61 62 6c 65 29 |((void-v|ariable)|
|00004150| 29 20 72 65 63 75 72 73 | 65 20 6d 61 70 63 61 72 |) recurs|e mapcar|
|00004160| 20 23 5b 28 73 70 65 63 | 2d 65 6c 65 6d 29 20 22 | #[(spec|-elem) "|
|00004170| c0 09 5c 6e c3 23 87 22 | 20 5b 70 68 2d 70 61 72 |..\n.#."| [ph-par|
|00004180| 73 65 2d 73 70 65 63 20 | 73 70 65 63 2d 65 6c 65 |se-spec |spec-ele|
|00004190| 6d 20 72 65 63 6f 72 64 | 20 6e 69 6c 5d 20 34 5d |m record| nil] 4]|
|000041a0| 20 65 72 72 6f 72 20 22 | 49 6e 76 61 6c 69 64 20 | error "|Invalid |
|000041b0| 6d 61 70 70 69 6e 67 20 | 73 70 65 63 69 66 69 63 |mapping |specific|
|000041c0| 61 74 69 6f 6e 20 66 6f | 72 20 60 25 73 27 2e 20 |ation fo|r `%s'. |
|000041d0| 46 69 78 20 70 68 2d 62 | 62 64 62 2d 63 6f 6e 76 |Fix ph-b|bdb-conv|
|000041e0| 65 72 73 69 6f 6e 2d 61 | 6c 69 73 74 22 5d 20 33 |ersion-a|list"] 3|
|000041f0| 20 28 23 24 20 2e 20 31 | 36 34 37 31 29 5d 29 0a | (#$ . 1|6471)]).|
|00004200| 23 40 32 36 30 20 50 61 | 72 73 65 20 41 44 44 52 |#@260 Pa|rse ADDR|
|00004210| 20 69 6e 74 6f 20 61 20 | 76 65 63 74 6f 72 20 63 | into a |vector c|
|00004220| 6f 6d 70 61 74 69 62 6c | 65 20 77 69 74 68 20 62 |ompatibl|e with b|
|00004230| 62 64 62 2d 63 72 65 61 | 74 65 2d 69 6e 74 65 72 |bdb-crea|te-inter|
|00004240| 6e 61 6c 2e 0a 41 44 44 | 52 20 73 68 6f 75 6c 64 |nal..ADD|R should|
|00004250| 20 62 65 20 61 6e 20 61 | 64 64 72 65 73 73 20 73 | be an a|ddress s|
|00004260| 74 72 69 6e 67 20 6f 66 | 20 6e 6f 20 6d 6f 72 65 |tring of| no more|
|00004270| 20 74 68 61 6e 20 66 6f | 75 72 20 6c 69 6e 65 73 | than fo|ur lines|
|00004280| 20 6f 72 20 61 0a 6c 69 | 73 74 20 6f 66 20 6c 69 | or a.li|st of li|
|00004290| 6e 65 73 2e 20 0a 54 68 | 65 20 6c 61 73 74 20 6c |nes. .Th|e last l|
|000042a0| 69 6e 65 20 69 73 20 73 | 65 61 72 63 68 65 64 20 |ine is s|earched |
|000042b0| 66 6f 72 20 74 68 65 20 | 7a 69 70 20 63 6f 64 65 |for the |zip code|
|000042c0| 2c 20 63 69 74 79 20 61 | 6e 64 20 73 74 61 74 65 |, city a|nd state|
|000042d0| 20 6e 61 6d 65 2e 0a 4c | 4f 43 41 54 49 4f 4e 20 | name..L|OCATION |
|000042e0| 69 73 20 75 73 65 64 20 | 61 73 20 74 68 65 20 61 |is used |as the a|
|000042f0| 64 64 72 65 73 73 20 6c | 6f 63 61 74 69 6f 6e 20 |ddress l|ocation |
|00004300| 66 6f 72 20 62 62 64 62 | 1f 0a 28 64 65 66 61 6c |for bbdb|..(defal|
|00004310| 69 61 73 20 27 70 68 2d | 62 62 64 62 69 66 79 2d |ias 'ph-|bbdbify-|
|00004320| 61 64 64 72 65 73 73 20 | 23 5b 28 61 64 64 72 20 |address |#[(addr |
|00004330| 6c 6f 63 61 74 69 6f 6e | 29 20 22 08 3c ab 85 c1 |location|) ".<...|
|00004340| 08 21 aa 86 c1 c2 08 c3 | 5c 22 21 89 1c 89 41 14 |.!......|\"!...A.|
|00004350| 40 1d c6 1e 07 c6 1e 08 | c6 1e 09 0c 9f 14 ca cb |@.......|........|
|00004360| 0d 5c 22 ab 96 cc cd 0d | 5c 22 16 08 cc ce 0d 5c |.\".....|\".....\|
|00004370| 22 16 09 cf cc d0 0d 5c | 22 21 16 07 aa 9a ca d1 |"......\|"!......|
|00004380| 0d 5c 22 ab 90 cc ce 0d | 5c 22 16 08 cf cc cd 0d |.\".....|\"......|
|00004390| 5c 22 21 16 07 aa 84 d2 | d3 21 88 d4 0e 15 0c 40 |\"!.....|.!.....@|
|000043a0| ae 81 d6 0c 41 40 ae 81 | d6 ce 0c 38 ae 81 d6 0e |....A@..|...8....|
|000043b0| 08 ae 81 d6 0e 09 ae 81 | d6 0e 07 26 07 2d 87 22 |........|...&.-."|
|000043c0| 20 5b 61 64 64 72 20 72 | 65 76 65 72 73 65 20 73 | [addr r|everse s|
|000043d0| 70 6c 69 74 2d 73 74 72 | 69 6e 67 20 22 5c 6e 22 |plit-str|ing "\n"|
|000043e0| 20 61 64 64 72 2d 63 6f | 6d 70 6f 6e 65 6e 74 73 | addr-co|mponents|
|000043f0| 20 6c 61 73 74 6c 20 6e | 69 6c 20 7a 69 70 20 63 | lastl n|il zip c|
|00004400| 69 74 79 20 73 74 61 74 | 65 20 73 74 72 69 6e 67 |ity stat|e string|
|00004410| 2d 6d 61 74 63 68 20 22 | 5c 5c 28 5c 5c 77 2b 5c |-match "|\\(\\w+\|
|00004420| 5c 29 5c 5c 57 2a 5c 5c | 28 5b 41 2d 5a 5d 5b 41 |\)\\W*\\|([A-Z][A|
|00004430| 2d 5a 5d 5c 5c 29 5c 5c | 57 2a 5c 5c 28 5b 30 2d |-Z]\\)\\|W*\\([0-|
|00004440| 39 5d 2b 5c 5c 29 22 20 | 6d 61 74 63 68 2d 73 74 |9]+\\)" |match-st|
|00004450| 72 69 6e 67 20 31 20 32 | 20 73 74 72 69 6e 67 2d |ring 1 2| string-|
|00004460| 74 6f 2d 6e 75 6d 62 65 | 72 20 33 20 22 5c 5c 28 |to-numbe|r 3 "\\(|
|00004470| 5b 30 2d 39 5d 2b 5c 5c | 29 5b 20 09 5d 2b 5c 5c |[0-9]+\\|)[ .]+\\|
|00004480| 28 2e 2a 5c 5c 29 22 20 | 65 72 72 6f 72 20 22 70 |(.*\\)" |error "p|
|00004490| 68 2d 62 62 64 62 69 66 | 79 2d 61 64 64 72 65 73 |h-bbdbif|y-addres|
|000044a0| 73 20 77 61 73 20 75 6e | 61 62 6c 65 20 74 6f 20 |s was un|able to |
|000044b0| 70 61 72 73 65 20 74 68 | 65 20 61 64 64 72 65 73 |parse th|e addres|
|000044c0| 73 2e 20 43 75 73 74 6f | 6d 69 7a 65 20 70 68 2d |s. Custo|mize ph-|
|000044d0| 62 62 64 62 2d 63 6f 6e | 76 65 72 73 69 6f 6e 2d |bbdb-con|version-|
|000044e0| 61 6c 69 73 74 22 20 76 | 65 63 74 6f 72 20 6c 6f |alist" v|ector lo|
|000044f0| 63 61 74 69 6f 6e 20 22 | 22 5d 20 39 20 28 23 24 |cation "|"] 9 (#$|
|00004500| 20 2e 20 31 36 39 30 32 | 29 5d 29 0a 23 40 32 32 | . 16902|)]).#@22|
|00004510| 35 20 50 61 72 73 65 20 | 50 48 4f 4e 45 20 69 6e |5 Parse |PHONE in|
|00004520| 74 6f 20 61 20 76 65 63 | 74 6f 72 20 63 6f 6d 70 |to a vec|tor comp|
|00004530| 61 74 69 62 6c 65 20 77 | 69 74 68 20 62 62 64 62 |atible w|ith bbdb|
|00004540| 2d 63 72 65 61 74 65 2d | 69 6e 74 65 72 6e 61 6c |-create-|internal|
|00004550| 2e 0a 50 48 4f 4e 45 20 | 69 73 20 65 69 74 68 65 |..PHONE |is eithe|
|00004560| 72 20 61 20 73 74 72 69 | 6e 67 20 73 75 70 70 6f |r a stri|ng suppo|
|00004570| 73 65 64 6c 79 20 63 6f | 6e 74 61 69 6e 69 6e 67 |sedly co|ntaining|
|00004580| 20 61 20 70 68 6f 6e 65 | 20 6e 75 6d 62 65 72 20 | a phone| number |
|00004590| 6f 72 0a 61 20 6c 69 73 | 74 20 6f 66 20 73 75 63 |or.a lis|t of suc|
|000045a0| 68 20 73 74 72 69 6e 67 | 73 20 77 68 69 63 68 20 |h string|s which |
|000045b0| 61 72 65 20 63 6f 6e 63 | 61 74 65 6e 61 74 65 64 |are conc|atenated|
|000045c0| 2e 0a 4c 4f 43 41 54 49 | 4f 4e 20 69 73 20 75 73 |..LOCATI|ON is us|
|000045d0| 65 64 20 61 73 20 74 68 | 65 20 70 68 6f 6e 65 20 |ed as th|e phone |
|000045e0| 6c 6f 63 61 74 69 6f 6e | 20 66 6f 72 20 62 62 64 |location| for bbd|
|000045f0| 62 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 70 68 |b..(defa|lias 'ph|
|00004600| 2d 62 62 64 62 69 66 79 | 2d 70 68 6f 6e 65 20 23 |-bbdbify|-phone #|
|00004610| 5b 28 70 68 6f 6e 65 20 | 6c 6f 63 61 74 69 6f 6e |[(phone |location|
|00004620| 29 20 22 08 3b ab 9a c1 | 1a c3 c4 c5 8f 88 5c 6e |) ".;...|......\n|
|00004630| 47 c6 55 ab 85 c7 5c 6e | c8 5c 22 12 c9 ca 0e 0b |G.U...\n|.\".....|
|00004640| 5c 6e 23 29 87 08 3c ab | 8a ca 0e 0b cc cd 08 ce |\n#)..<.|........|
|00004650| 23 5c 22 87 cf d0 21 87 | 22 20 5b 70 68 6f 6e 65 |#\"...!.|" [phone|
|00004660| 20 6e 69 6c 20 70 68 6f | 6e 65 2d 6c 69 73 74 20 | nil pho|ne-list |
|00004670| 65 72 72 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |err (byt|e-code "|
|00004680| c0 09 21 12 c0 87 22 20 | 5b 62 62 64 62 2d 70 61 |..!..." |[bbdb-pa|
|00004690| 72 73 65 2d 70 68 6f 6e | 65 2d 6e 75 6d 62 65 72 |rse-phon|e-number|
|000046a0| 20 70 68 6f 6e 65 20 70 | 68 6f 6e 65 2d 6c 69 73 | phone p|hone-lis|
|000046b0| 74 5d 20 32 29 20 28 28 | 65 72 72 6f 72 20 28 62 |t] 2) ((|error (b|
|000046c0| 79 74 65 2d 63 6f 64 65 | 20 22 08 41 40 c1 98 ab |yte-code| ".A@...|
|000046d0| 96 c2 c3 c4 0d 5c 22 21 | ac 86 c6 c1 21 88 aa 8f |.....\"!|....!...|
|000046e0| c7 0d 21 43 16 08 aa 87 | c9 08 40 08 41 5c 22 88 |..!C....|..@.A\".|
|000046f0| c2 87 22 20 5b 65 72 72 | 20 22 70 68 6f 6e 65 20 |.." [err| "phone |
|00004700| 6e 75 6d 62 65 72 20 75 | 6e 70 61 72 73 61 62 6c |number u|nparsabl|
|00004710| 65 2e 22 20 79 2d 6f 72 | 2d 6e 2d 70 20 66 6f 72 |e." y-or|-n-p for|
|00004720| 6d 61 74 20 22 42 42 44 | 42 20 63 6c 61 69 6d 73 |mat "BBD|B claims|
|00004730| 20 25 53 20 74 6f 20 62 | 65 20 75 6e 70 61 72 73 | %S to b|e unpars|
|00004740| 61 62 6c 65 2e 20 49 6e | 73 65 72 74 20 69 74 20 |able. In|sert it |
|00004750| 75 6e 70 61 72 73 65 64 | 20 3f 20 22 20 70 68 6f |unparsed| ? " pho|
|00004760| 6e 65 20 65 72 72 6f 72 | 20 62 62 64 62 2d 73 74 |ne error| bbdb-st|
|00004770| 72 69 6e 67 2d 74 72 69 | 6d 20 70 68 6f 6e 65 2d |ring-tri|m phone-|
|00004780| 6c 69 73 74 20 73 69 67 | 6e 61 6c 5d 20 34 29 29 |list sig|nal] 4))|
|00004790| 29 20 33 20 61 70 70 65 | 6e 64 20 28 6e 69 6c 29 |) 3 appe|nd (nil)|
|000047a0| 20 61 70 70 6c 79 20 76 | 65 63 74 6f 72 20 6c 6f | apply v|ector lo|
|000047b0| 63 61 74 69 6f 6e 20 6d | 61 70 63 6f 6e 63 61 74 |cation m|apconcat|
|000047c0| 20 69 64 65 6e 74 69 74 | 79 20 22 2c 20 22 20 65 | identit|y ", " e|
|000047d0| 72 72 6f 72 20 22 49 6e | 76 61 6c 69 64 20 70 68 |rror "In|valid ph|
|000047e0| 6f 6e 65 20 73 70 65 63 | 69 66 69 63 61 74 69 6f |one spec|ificatio|
|000047f0| 6e 2e 20 43 61 6e 6e 6f | 74 20 63 72 65 61 74 65 |n. Canno|t create|
|00004800| 20 62 62 64 62 20 72 65 | 63 6f 72 64 22 5d 20 36 | bbdb re|cord"] 6|
|00004810| 20 28 23 24 20 2e 20 31 | 37 36 38 32 29 5d 29 0a | (#$ . 1|7682)]).|
|00004820| 23 40 32 37 20 43 75 73 | 74 6f 6d 69 7a 65 20 74 |#@27 Cus|tomize t|
|00004830| 68 65 20 50 48 20 70 61 | 63 6b 61 67 65 2e 1f 0a |he PH pa|ckage...|
|00004840| 28 64 65 66 61 6c 69 61 | 73 20 27 70 68 2d 63 75 |(defalia|s 'ph-cu|
|00004850| 73 74 6f 6d 69 7a 65 20 | 23 5b 6e 69 6c 20 22 c0 |stomize |#[nil ".|
|00004860| c1 21 87 22 20 5b 63 75 | 73 74 6f 6d 69 7a 65 20 |.!." [cu|stomize |
|00004870| 70 68 5d 20 32 20 28 23 | 24 20 2e 20 31 38 34 36 |ph] 2 (#|$ . 1846|
|00004880| 39 29 20 6e 69 6c 5d 29 | 0a 23 40 32 37 20 53 65 |9) nil])|.#@27 Se|
|00004890| 74 20 74 68 65 20 73 65 | 72 76 65 72 20 74 6f 20 |t the se|rver to |
|000048a0| 53 45 52 56 45 52 2e 1f | 0a 28 64 65 66 61 6c 69 |SERVER..|.(defali|
|000048b0| 61 73 20 27 70 68 2d 73 | 65 74 2d 73 65 72 76 65 |as 'ph-s|et-serve|
|000048c0| 72 20 23 5b 28 73 65 72 | 76 65 72 29 20 22 c0 c1 |r #[(ser|ver) "..|
|000048d0| 5c 6e 5c 22 88 5c 6e 89 | 13 87 22 20 5b 6d 65 73 |\n\".\n.|.." [mes|
|000048e0| 73 61 67 65 20 22 53 65 | 6c 65 63 74 65 64 20 50 |sage "Se|lected P|
|000048f0| 48 2f 51 49 20 73 65 72 | 76 65 72 20 69 73 20 6e |H/QI ser|ver is n|
|00004900| 6f 77 20 25 73 22 20 73 | 65 72 76 65 72 20 70 68 |ow %s" s|erver ph|
|00004910| 2d 73 65 72 76 65 72 5d | 20 33 20 28 23 24 20 2e |-server]| 3 (#$ .|
|00004920| 20 31 38 35 37 34 29 20 | 22 73 4e 65 77 20 50 48 | 18574) |"sNew PH|
|00004930| 2f 51 49 20 53 65 72 76 | 65 72 3a 20 22 5d 29 0a |/QI Serv|er: "]).|
|00004940| 23 40 36 32 20 47 65 74 | 20 74 68 65 20 65 6d 61 |#@62 Get| the ema|
|00004950| 69 6c 20 66 69 65 6c 64 | 20 6f 66 20 4e 41 4d 45 |il field| of NAME|
|00004960| 20 66 72 6f 6d 20 74 68 | 65 20 50 48 2f 51 49 20 | from th|e PH/QI |
|00004970| 64 69 72 65 63 74 6f 72 | 79 20 73 65 72 76 65 72 |director|y server|
|00004980| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 70 68 |...(defa|lias 'ph|
|00004990| 2d 67 65 74 2d 65 6d 61 | 69 6c 20 23 5b 28 6e 61 |-get-ema|il #[(na|
|000049a0| 6d 65 29 20 22 c0 09 c2 | 5c 22 40 40 41 1b 74 ab |me) "...|\"@@A.t.|
|000049b0| 8f 0b ab 87 c4 c5 0b 5c | 22 88 aa 85 c4 c6 09 5c |.......\|"......\|
|000049c0| 22 88 0b 29 87 22 20 5b | 70 68 2d 71 75 65 72 79 |"..)." [|ph-query|
|000049d0| 2d 69 6e 74 65 72 6e 61 | 6c 20 6e 61 6d 65 20 28 |-interna|l name (|
|000049e0| 65 6d 61 69 6c 29 20 65 | 6d 61 69 6c 20 6d 65 73 |email) e|mail mes|
|000049f0| 73 61 67 65 20 22 25 73 | 22 20 22 4e 6f 20 72 65 |sage "%s|" "No re|
|00004a00| 63 6f 72 64 20 6d 61 74 | 63 68 69 6e 67 20 25 73 |cord mat|ching %s|
|00004a10| 22 5d 20 33 20 28 23 24 | 20 2e 20 31 38 37 35 37 |"] 3 (#$| . 18757|
|00004a20| 29 20 22 73 4e 61 6d 65 | 3a 20 22 5d 29 0a 23 40 |) "sName|: "]).#@|
|00004a30| 36 32 20 47 65 74 20 74 | 68 65 20 70 68 6f 6e 65 |62 Get t|he phone|
|00004a40| 20 66 69 65 6c 64 20 6f | 66 20 4e 41 4d 45 20 66 | field o|f NAME f|
|00004a50| 72 6f 6d 20 74 68 65 20 | 50 48 2f 51 49 20 64 69 |rom the |PH/QI di|
|00004a60| 72 65 63 74 6f 72 79 20 | 73 65 72 76 65 72 2e 1f |rectory |server..|
|00004a70| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 70 68 2d 67 |.(defali|as 'ph-g|
|00004a80| 65 74 2d 70 68 6f 6e 65 | 20 23 5b 28 6e 61 6d 65 |et-phone| #[(name|
|00004a90| 29 20 22 c0 09 c2 5c 22 | 40 40 41 1b 74 ab 8f 0b |) "...\"|@@A.t...|
|00004aa0| ab 87 c4 c5 0b 5c 22 88 | aa 85 c4 c6 09 5c 22 88 |.....\".|.....\".|
|00004ab0| 0b 29 87 22 20 5b 70 68 | 2d 71 75 65 72 79 2d 69 |.)." [ph|-query-i|
|00004ac0| 6e 74 65 72 6e 61 6c 20 | 6e 61 6d 65 20 28 70 68 |nternal |name (ph|
|00004ad0| 6f 6e 65 29 20 70 68 6f | 6e 65 20 6d 65 73 73 61 |one) pho|ne messa|
|00004ae0| 67 65 20 22 25 73 22 20 | 22 4e 6f 20 72 65 63 6f |ge "%s" |"No reco|
|00004af0| 72 64 20 6d 61 74 63 68 | 69 6e 67 20 25 73 22 5d |rd match|ing %s"]|
|00004b00| 20 33 20 28 23 24 20 2e | 20 31 38 39 39 35 29 20 | 3 (#$ .| 18995) |
|00004b10| 22 73 4e 61 6d 65 3a 20 | 22 5d 29 0a 23 40 31 36 |"sName: |"]).#@16|
|00004b20| 37 20 52 65 74 75 72 6e | 20 61 20 6c 69 73 74 20 |7 Return| a list |
|00004b30| 6f 66 20 76 61 6c 69 64 | 20 66 69 65 6c 64 20 6e |of valid| field n|
|00004b40| 61 6d 65 73 20 66 6f 72 | 20 63 75 72 72 65 6e 74 |ames for| current|
|00004b50| 20 73 65 72 76 65 72 2e | 0a 57 68 65 6e 20 63 61 | server.|.When ca|
|00004b60| 6c 6c 65 64 20 69 6e 74 | 65 72 61 63 74 69 76 65 |lled int|eractive|
|00004b70| 6c 79 20 74 68 65 20 6c | 69 73 74 20 69 73 20 66 |ly the l|ist is f|
|00004b80| 6f 72 6d 61 74 74 65 64 | 20 69 6e 20 61 20 64 65 |ormatted| in a de|
|00004b90| 64 69 63 61 74 65 64 20 | 62 75 66 66 65 72 0a 6f |dicated |buffer.o|
|00004ba0| 74 68 65 72 77 69 73 65 | 20 61 20 6c 69 73 74 20 |therwise| a list |
|00004bb0| 6f 66 20 73 79 6d 62 6f | 6c 73 20 69 73 20 72 65 |of symbo|ls is re|
|00004bc0| 74 75 72 6e 65 64 2e 1f | 0a 28 64 65 66 61 6c 69 |turned..|.(defali|
|00004bd0| 61 73 20 27 70 68 2d 67 | 65 74 2d 66 69 65 6c 64 |as 'ph-g|et-field|
|00004be0| 2d 6c 69 73 74 20 23 5b | 6e 69 6c 20 22 c0 c1 21 |-list #[|nil "..!|
|00004bf0| 88 74 ab 89 c2 1b c4 c5 | 20 c6 5c 22 29 87 c7 c8 |.t......| .\")...|
|00004c00| c5 20 5c 22 87 22 20 5b | 70 68 2d 64 6f 2d 72 65 |. \"." [|ph-do-re|
|00004c10| 71 75 65 73 74 20 22 66 | 69 65 6c 64 73 22 20 6c |quest "f|ields" l|
|00004c20| 69 73 74 20 70 68 2d 64 | 75 70 6c 69 63 61 74 65 |ist ph-d|uplicate|
|00004c30| 2d 66 69 65 6c 64 73 2d | 68 61 6e 64 6c 69 6e 67 |-fields-|handling|
|00004c40| 2d 6d 65 74 68 6f 64 20 | 70 68 2d 64 69 73 70 6c |-method |ph-displ|
|00004c50| 61 79 2d 72 65 63 6f 72 | 64 73 20 70 68 2d 70 61 |ay-recor|ds ph-pa|
|00004c60| 72 73 65 2d 71 75 65 72 | 79 2d 72 65 73 75 6c 74 |rse-quer|y-result|
|00004c70| 20 74 20 6d 61 70 63 61 | 72 20 63 61 61 72 5d 20 | t mapca|r caar] |
|00004c80| 33 20 28 23 24 20 2e 20 | 31 39 32 33 34 29 20 6e |3 (#$ . |19234) n|
|00004c90| 69 6c 5d 29 0a 23 40 36 | 31 30 20 51 75 65 72 79 |il]).#@6|10 Query|
|00004ca0| 20 74 68 65 20 73 65 72 | 76 65 72 20 61 6e 64 20 | the ser|ver and |
|00004cb0| 65 78 70 61 6e 64 20 74 | 68 65 20 71 75 65 72 79 |expand t|he query|
|00004cc0| 20 73 74 72 69 6e 67 20 | 62 65 66 6f 72 65 20 70 | string |before p|
|00004cd0| 6f 69 6e 74 2e 0a 54 68 | 65 20 71 75 65 72 79 20 |oint..Th|e query |
|00004ce0| 73 74 72 69 6e 67 20 63 | 6f 6e 73 69 73 74 73 20 |string c|onsists |
|00004cf0| 6f 66 20 74 68 65 20 62 | 75 66 66 65 72 20 73 75 |of the b|uffer su|
|00004d00| 62 73 74 72 69 6e 67 20 | 66 72 6f 6d 20 74 68 65 |bstring |from the|
|00004d10| 20 70 6f 69 6e 74 20 62 | 61 63 6b 20 74 6f 0a 74 | point b|ack to.t|
|00004d20| 68 65 20 70 72 65 63 65 | 64 69 6e 67 20 63 6f 6d |he prece|ding com|
|00004d30| 6d 61 2c 20 63 6f 6c 6f | 6e 20 6f 72 20 62 65 67 |ma, colo|n or beg|
|00004d40| 69 6e 6e 69 6e 67 20 6f | 66 20 6c 69 6e 65 2e 20 |inning o|f line. |
|00004d50| 49 66 20 69 74 20 63 6f | 6e 73 69 73 74 73 20 6f |If it co|nsists o|
|00004d60| 66 20 6d 6f 72 65 20 74 | 68 61 6e 0a 6f 6e 65 20 |f more t|han.one |
|00004d70| 77 6f 72 64 20 74 68 65 | 20 76 61 72 69 61 62 6c |word the| variabl|
|00004d80| 65 20 70 68 2d 69 6e 6c | 69 6e 65 2d 71 75 65 72 |e ph-inl|ine-quer|
|00004d90| 79 2d 66 6f 72 6d 61 74 | 2d 6c 69 73 74 20 63 6f |y-format|-list co|
|00004da0| 6e 74 72 6f 6c 73 20 68 | 6f 77 20 74 68 65 73 65 |ntrols h|ow these|
|00004db0| 20 61 72 65 20 6d 61 70 | 70 65 64 0a 6f 6e 74 6f | are map|ped.onto|
|00004dc0| 20 43 43 53 4f 20 64 61 | 74 61 62 61 73 65 20 66 | CCSO da|tabase f|
|00004dd0| 69 65 6c 64 20 6e 61 6d | 65 73 2e 0a 41 66 74 65 |ield nam|es..Afte|
|00004de0| 72 20 71 75 65 72 79 69 | 6e 67 20 74 68 65 20 73 |r queryi|ng the s|
|00004df0| 65 72 76 65 72 20 66 6f | 72 20 74 68 65 20 67 69 |erver fo|r the gi|
|00004e00| 76 65 6e 20 73 74 72 69 | 6e 67 2c 20 74 68 65 20 |ven stri|ng, the |
|00004e10| 65 78 70 61 6e 73 69 6f | 6e 20 73 70 65 63 69 66 |expansio|n specif|
|00004e20| 69 65 64 20 62 79 20 0a | 70 68 2d 69 6e 6c 69 6e |ied by .|ph-inlin|
|00004e30| 65 2d 65 78 70 61 6e 73 | 69 6f 6e 2d 66 6f 72 6d |e-expans|ion-form|
|00004e40| 61 74 20 69 73 20 69 6e | 73 65 72 74 65 64 20 69 |at is in|serted i|
|00004e50| 6e 20 74 68 65 20 62 75 | 66 66 65 72 20 61 74 20 |n the bu|ffer at |
|00004e60| 70 6f 69 6e 74 2e 20 49 | 66 20 52 45 50 4c 41 43 |point. I|f REPLAC|
|00004e70| 45 20 69 73 20 74 20 0a | 74 68 65 6e 20 74 68 69 |E is t .|then thi|
|00004e80| 73 20 65 78 70 61 6e 73 | 69 6f 6e 20 72 65 70 6c |s expans|ion repl|
|00004e90| 61 63 65 73 20 74 68 65 | 20 6e 61 6d 65 20 69 6e |aces the| name in|
|00004ea0| 20 74 68 65 20 62 75 66 | 66 65 72 2e 0a 49 66 20 | the buf|fer..If |
|00004eb0| 70 68 2d 65 78 70 61 6e | 64 69 6e 67 2d 6f 76 65 |ph-expan|ding-ove|
|00004ec0| 72 77 72 69 74 65 73 2d | 71 75 65 72 79 20 69 73 |rwrites-|query is|
|00004ed0| 20 74 20 74 68 65 6e 20 | 74 68 65 20 6d 65 61 6e | t then |the mean|
|00004ee0| 69 6e 67 20 6f 66 20 52 | 45 50 4c 41 43 45 20 69 |ing of R|EPLACE i|
|00004ef0| 73 20 69 6e 76 65 72 74 | 65 64 2e 1f 0a 28 64 65 |s invert|ed...(de|
|00004f00| 66 61 6c 69 61 73 20 27 | 70 68 2d 65 78 70 61 6e |falias '|ph-expan|
|00004f10| 64 2d 69 6e 6c 69 6e 65 | 20 23 5b 28 26 6f 70 74 |d-inline| #[(&opt|
|00004f20| 69 6f 6e 61 6c 20 72 65 | 70 6c 61 63 65 29 20 22 |ional re|place) "|
|00004f30| 60 18 8a c1 c2 8a c3 79 | 88 60 29 c4 23 ab 84 c3 |`......y|.`).#...|
|00004f40| 95 62 88 60 29 89 1d 08 | 7b 1e 06 c7 1e 08 c7 1e |.b.`)...|{.......|
|00004f50| 09 0e 5c 6e 1e 0b c7 1e | 0c c7 1e 0d c7 1e 0e c7 |..\n....|........|
|00004f60| 1e 0f c7 1e 10 0e 0b ab | 87 d1 d2 0e 06 5c 22 ac |........|.....\".|
|00004f70| 86 0e 06 16 08 aa f7 d3 | 0e 06 d2 5c 22 16 06 0e |........|...\"...|
|00004f80| 06 ab 9c 0e 0b ab 98 0e | 0b 40 0e 06 40 42 0e 09 |........|.@..@B..|
|00004f90| 42 16 09 0e 06 41 16 06 | 0e 0b 41 16 0b aa 60 0e |B....A..|..A...`.|
|00004fa0| 06 ab 91 0e 09 40 0e 09 | 40 41 d4 d5 d6 0e 06 d4 |.....@..|@A......|
|00004fb0| 23 51 a1 88 0e 09 9f 16 | 09 0e 09 ab ad 0e 09 40 |#Q......|.......@|
|00004fc0| 40 16 0e 0e 09 40 41 16 | 0f 0e 0e 0e 08 b7 89 16 |@....@A.|........|
|00004fd0| 10 ab 8d 0e 10 0e 0f d4 | 0e 10 41 51 a1 88 aa 59 |........|..AQ...Y|
|00004fe0| 0e 09 40 0e 08 42 16 08 | aa 4f 0e 09 41 16 09 d7 |..@..B..|.O..A...|
|00004ff0| 0e 08 0e 18 41 5c 22 89 | 16 0c ac 85 d9 da 21 aa |....A\".|......!.|
|00005000| ef 0e 0c ab 99 db dc 0e | 18 40 dd de 0e 18 41 5c |........|.@....A\|
|00005010| 22 23 0e 0d 42 16 0d 0e | 0c 41 89 16 0c ac 67 0e |"#..B...|.A....g.|
|00005020| 1f ab 84 0e 20 ab 88 0e | 1f ac 88 0e 20 ab 84 0d |.... ...|.... ...|
|00005030| 08 7c 88 0e 0d 47 e1 55 | ac 8a 0e 5c 22 ab 86 0e |.|...G.U|...\"...|
|00005040| 5c 22 e3 61 ab 86 0e 0d | 40 63 aa a7 0e 5c 22 e4 |\".a....|@c...\".|
|00005050| 61 ab 89 e5 90 e6 0e 0d | 21 91 aa 98 0e 5c 22 e7 |a.......|!....\".|
|00005060| 61 ab 89 d5 d6 0e 0d e8 | 23 63 aa 89 0e 5c 22 e9 |a.......|#c...\".|
|00005070| 61 ad 83 d9 ea 21 2e 0b | 87 22 20 5b 65 6e 64 20 |a....!..|." [end |
|00005080| 72 65 2d 73 65 61 72 63 | 68 2d 62 61 63 6b 77 61 |re-searc|h-backwa|
|00005090| 72 64 20 22 5b 3a 2c 5d | 5b 20 09 5d 2a 22 20 30 |rd "[:,]|[ .]*" 0|
|000050a0| 20 6d 6f 76 65 20 62 65 | 67 20 77 6f 72 64 73 20 | move be|g words |
|000050b0| 6e 69 6c 20 71 75 65 72 | 79 20 71 75 65 72 79 2d |nil quer|y query-|
|000050c0| 61 6c 69 73 74 20 70 68 | 2d 69 6e 6c 69 6e 65 2d |alist ph|-inline-|
|000050d0| 71 75 65 72 79 2d 66 6f | 72 6d 61 74 2d 6c 69 73 |query-fo|rmat-lis|
|000050e0| 74 20 71 75 65 72 79 2d | 66 6f 72 6d 61 74 20 72 |t query-|format r|
|000050f0| 65 73 70 6f 6e 73 65 20 | 72 65 73 70 6f 6e 73 65 |esponse |response|
|00005100| 2d 73 74 72 69 6e 67 73 | 20 6b 65 79 20 76 61 6c |-strings| key val|
|00005110| 20 63 65 6c 6c 20 73 74 | 72 69 6e 67 2d 6d 61 74 | cell st|ring-mat|
|00005120| 63 68 20 22 5b 20 09 5d | 2b 22 20 73 70 6c 69 74 |ch "[ .]|+" split|
|00005130| 2d 73 74 72 69 6e 67 20 | 22 20 22 20 6d 61 70 63 |-string |" " mapc|
|00005140| 6f 6e 63 61 74 20 69 64 | 65 6e 74 69 74 79 20 70 |oncat id|entity p|
|00005150| 68 2d 71 75 65 72 79 2d | 69 6e 74 65 72 6e 61 6c |h-query-|internal|
|00005160| 20 70 68 2d 69 6e 6c 69 | 6e 65 2d 65 78 70 61 6e | ph-inli|ne-expan|
|00005170| 73 69 6f 6e 2d 66 6f 72 | 6d 61 74 20 65 72 72 6f |sion-for|mat erro|
|00005180| 72 20 22 4e 6f 20 6d 61 | 74 63 68 20 66 6f 75 6e |r "No ma|tch foun|
|00005190| 64 22 20 61 70 70 6c 79 | 20 66 6f 72 6d 61 74 20 |d" apply| format |
|000051a0| 6d 61 70 63 61 72 20 23 | 5b 28 66 69 65 6c 64 29 |mapcar #|[(field)|
|000051b0| 20 22 08 09 40 b7 41 ae | 81 c2 87 22 20 5b 66 69 | "..@.A.|..." [fi|
|000051c0| 65 6c 64 20 72 65 73 70 | 6f 6e 73 65 20 22 22 5d |eld resp|onse ""]|
|000051d0| 20 32 5d 20 72 65 70 6c | 61 63 65 20 70 68 2d 65 | 2] repl|ace ph-e|
|000051e0| 78 70 61 6e 64 69 6e 67 | 2d 6f 76 65 72 77 72 69 |xpanding|-overwri|
|000051f0| 74 65 73 2d 71 75 65 72 | 79 20 31 20 70 68 2d 6d |tes-quer|y 1 ph-m|
|00005200| 75 6c 74 69 70 6c 65 2d | 6d 61 74 63 68 2d 68 61 |ultiple-|match-ha|
|00005210| 6e 64 6c 69 6e 67 2d 6d | 65 74 68 6f 64 20 66 69 |ndling-m|ethod fi|
|00005220| 72 73 74 20 73 65 6c 65 | 63 74 20 22 2a 43 6f 6d |rst sele|ct "*Com|
|00005230| 70 6c 65 74 69 6f 6e 73 | 2a 22 20 64 69 73 70 6c |pletions|*" displ|
|00005240| 61 79 2d 63 6f 6d 70 6c | 65 74 69 6f 6e 2d 6c 69 |ay-compl|etion-li|
|00005250| 73 74 20 61 6c 6c 20 22 | 2c 20 22 20 61 62 6f 72 |st all "|, " abor|
|00005260| 74 20 22 54 68 65 72 65 | 20 69 73 20 6d 6f 72 65 |t "There| is more|
|00005270| 20 74 68 61 6e 20 6f 6e | 65 20 6d 61 74 63 68 20 | than on|e match |
|00005280| 66 6f 72 20 74 68 65 20 | 71 75 65 72 79 22 5d 20 |for the |query"] |
|00005290| 38 20 28 23 24 20 2e 20 | 31 39 36 31 31 29 20 6e |8 (#$ . |19611) n|
|000052a0| 69 6c 5d 29 0a 23 40 31 | 38 30 20 2a 44 69 73 70 |il]).#@1|80 *Disp|
|000052b0| 6c 61 79 20 61 20 66 6f | 72 6d 20 74 6f 20 71 75 |lay a fo|rm to qu|
|000052c0| 65 72 79 20 74 68 65 20 | 43 43 53 4f 20 50 48 2f |ery the |CCSO PH/|
|000052d0| 51 49 20 6e 61 6d 65 73 | 65 72 76 65 72 2e 0a 49 |QI names|erver..I|
|000052e0| 66 20 67 69 76 65 6e 20 | 61 20 6e 6f 6e 2d 6e 69 |f given |a non-ni|
|000052f0| 6c 20 61 72 67 75 6d 65 | 6e 74 20 74 68 65 20 66 |l argume|nt the f|
|00005300| 75 6e 63 74 69 6f 6e 20 | 66 69 72 73 74 20 71 75 |unction |first qu|
|00005310| 65 72 69 65 73 20 74 68 | 65 20 20 73 65 72 76 65 |eries th|e serve|
|00005320| 72 20 0a 66 6f 72 20 74 | 68 65 20 65 78 69 73 74 |r .for t|he exist|
|00005330| 69 6e 67 20 66 69 65 6c | 64 73 20 61 6e 64 20 64 |ing fiel|ds and d|
|00005340| 69 73 70 6c 61 79 73 20 | 61 20 63 6f 72 72 65 73 |isplays |a corres|
|00005350| 70 6f 6e 64 69 6e 67 20 | 66 6f 72 6d 2e 1f 0a 28 |ponding |form...(|
|00005360| 64 65 66 61 6c 69 61 73 | 20 27 70 68 2d 71 75 65 |defalias| 'ph-que|
|00005370| 72 79 2d 66 6f 72 6d 20 | 23 5b 28 26 6f 70 74 69 |ry-form |#[(&opti|
|00005380| 6f 6e 61 6c 20 67 65 74 | 2d 66 69 65 6c 64 73 2d |onal get|-fields-|
|00005390| 66 72 6f 6d 2d 73 65 72 | 76 65 72 29 20 22 08 ab |from-ser|ver) "..|
|000053a0| 84 c1 20 ae 81 5c 6e c3 | c4 21 c5 89 c6 c5 89 1e |.. ..\n.|.!......|
|000053b0| 07 1e 08 1e 09 1e 5c 6e | 1e 0b 1e 0c 1e 0d ce 0e |......\n|........|
|000053c0| 0c 21 88 cf 16 08 d0 20 | 88 d1 20 88 d2 d3 21 88 |.!..... |.. ...!.|
|000053d0| d4 d5 21 88 d4 d6 21 88 | d4 d7 0e 18 ae 83 d9 da |..!...!.|........|
|000053e0| 21 db 23 88 dc dd 0e 0d | 5c 22 16 0d d4 de df e0 |!.#.....|\"......|
|000053f0| 0e 09 e1 51 0e 0d 40 41 | 5c 22 5c 22 88 60 16 07 |...Q..@A|\"\".`..|
|00005400| e2 e3 e4 e5 23 16 5c 6e | 0e 0d 40 40 0e 5c 6e 42 |....#.\n|..@@.\nB|
|00005410| 0e 13 42 16 13 0e 0d 41 | 16 0d dc e6 0e 0d 5c 22 |..B....A|......\"|
|00005420| 88 d4 de 21 88 e2 e7 e8 | e9 ea 24 88 d4 eb 21 88 |...!....|..$...!.|
|00005430| e2 e7 e8 ec ed 24 88 d4 | eb 21 88 e2 e7 e8 ee ef |.....$..|.!......|
|00005440| 24 88 0e 07 54 62 88 f0 | 0e 31 21 88 f2 20 2e 07 |$...Tb..|.1!.. ..|
|00005450| 87 22 20 5b 67 65 74 2d | 66 69 65 6c 64 73 2d 66 |." [get-|fields-f|
|00005460| 72 6f 6d 2d 73 65 72 76 | 65 72 20 70 68 2d 67 65 |rom-serv|er ph-ge|
|00005470| 74 2d 66 69 65 6c 64 2d | 6c 69 73 74 20 70 68 2d |t-field-|list ph-|
|00005480| 66 6f 72 6d 2d 66 69 65 | 6c 64 73 20 67 65 74 2d |form-fie|lds get-|
|00005490| 62 75 66 66 65 72 2d 63 | 72 65 61 74 65 20 22 2a |buffer-c|reate "*|
|000054a0| 50 48 2f 51 49 20 51 75 | 65 72 79 20 46 6f 72 6d |PH/QI Qu|ery Form|
|000054b0| 2a 22 20 6e 69 6c 20 30 | 20 70 74 20 69 6e 68 69 |*" nil 0| pt inhi|
|000054c0| 62 69 74 2d 72 65 61 64 | 2d 6f 6e 6c 79 20 77 69 |bit-read|-only wi|
|000054d0| 64 74 68 20 77 69 64 67 | 65 74 20 66 69 65 6c 64 |dth widg|et field|
|000054e0| 2d 6e 61 6d 65 20 62 75 | 66 66 65 72 20 66 69 65 |-name bu|ffer fie|
|000054f0| 6c 64 73 20 73 77 69 74 | 63 68 2d 74 6f 2d 62 75 |lds swit|ch-to-bu|
|00005500| 66 66 65 72 20 74 20 65 | 72 61 73 65 2d 62 75 66 |ffer t e|rase-buf|
|00005510| 66 65 72 20 6b 69 6c 6c | 2d 61 6c 6c 2d 6c 6f 63 |fer kill|-all-loc|
|00005520| 61 6c 2d 76 61 72 69 61 | 62 6c 65 73 20 6d 61 6b |al-varia|bles mak|
|00005530| 65 2d 6c 6f 63 61 6c 2d | 76 61 72 69 61 62 6c 65 |e-local-|variable|
|00005540| 20 70 68 2d 66 6f 72 6d | 2d 77 69 64 67 65 74 2d | ph-form|-widget-|
|00005550| 6c 69 73 74 20 77 69 64 | 67 65 74 2d 69 6e 73 65 |list wid|get-inse|
|00005560| 72 74 20 22 50 48 2f 51 | 49 20 51 75 65 72 79 20 |rt "PH/Q|I Query |
|00005570| 46 6f 72 6d 5c 6e 22 20 | 22 3d 3d 3d 3d 3d 3d 3d |Form\n" |"=======|
|00005580| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 5c 6e 5c 6e 22 20 22 |========|=\n\n" "|
|00005590| 43 75 72 72 65 6e 74 20 | 73 65 72 76 65 72 20 69 |Current |server i|
|000055a0| 73 3a 20 22 20 70 68 2d | 73 65 72 76 65 72 20 63 |s: " ph-|server c|
|000055b0| 61 6c 6c 2d 69 6e 74 65 | 72 61 63 74 69 76 65 6c |all-inte|ractivel|
|000055c0| 79 20 70 68 2d 73 65 74 | 2d 73 65 72 76 65 72 20 |y ph-set|-server |
|000055d0| 22 5c 6e 22 20 6d 61 70 | 63 61 72 20 23 5b 28 66 |"\n" map|car #[(f|
|000055e0| 69 65 6c 64 29 20 22 08 | 09 b7 ab 86 08 09 b7 41 |ield) ".|.......A|
|000055f0| ae 85 c2 c3 08 21 21 89 | 14 47 0d 56 ab 83 0c 47 |.....!!.|.G.V...G|
|00005600| 15 08 0c 42 87 22 20 5b | 66 69 65 6c 64 20 70 68 |...B." [|field ph|
|00005610| 2d 66 69 65 6c 64 6e 61 | 6d 65 2d 66 6f 72 6d 73 |-fieldna|me-forms|
|00005620| 74 72 69 6e 67 2d 61 6c | 69 73 74 20 63 61 70 69 |tring-al|ist capi|
|00005630| 74 61 6c 69 7a 65 20 73 | 79 6d 62 6f 6c 2d 6e 61 |talize s|ymbol-na|
|00005640| 6d 65 20 66 69 65 6c 64 | 2d 6e 61 6d 65 20 77 69 |me field|-name wi|
|00005650| 64 74 68 5d 20 34 5d 20 | 22 5c 6e 5c 6e 22 20 66 |dth] 4] |"\n\n" f|
|00005660| 6f 72 6d 61 74 20 22 25 | 22 20 22 73 3a 20 22 20 |ormat "%|" "s: " |
|00005670| 77 69 64 67 65 74 2d 63 | 72 65 61 74 65 20 65 64 |widget-c|reate ed|
|00005680| 69 74 61 62 6c 65 2d 66 | 69 65 6c 64 20 3a 73 69 |itable-f|ield :si|
|00005690| 7a 65 20 31 35 20 23 5b | 28 66 69 65 6c 64 29 20 |ze 15 #[|(field) |
|000056a0| 22 c0 c1 c2 c3 0c c5 51 | 0e 06 41 5c 22 5c 22 88 |"......Q|..A\"\".|
|000056b0| c7 c8 c9 ca 23 16 0b 0e | 06 40 0e 0b 42 0e 0c 42 |....#...|.@..B..B|
|000056c0| 89 16 0c 87 22 20 5b 77 | 69 64 67 65 74 2d 69 6e |...." [w|idget-in|
|000056d0| 73 65 72 74 20 22 5c 6e | 5c 6e 22 20 66 6f 72 6d |sert "\n|\n" form|
|000056e0| 61 74 20 22 25 22 20 77 | 69 64 74 68 20 22 73 3a |at "%" w|idth "s:|
|000056f0| 20 22 20 66 69 65 6c 64 | 20 77 69 64 67 65 74 2d | " field| widget-|
|00005700| 63 72 65 61 74 65 20 65 | 64 69 74 61 62 6c 65 2d |create e|ditable-|
|00005710| 66 69 65 6c 64 20 3a 73 | 69 7a 65 20 31 35 20 77 |field :s|ize 15 w|
|00005720| 69 64 67 65 74 20 70 68 | 2d 66 6f 72 6d 2d 77 69 |idget ph|-form-wi|
|00005730| 64 67 65 74 2d 6c 69 73 | 74 5d 20 36 5d 20 70 75 |dget-lis|t] 6] pu|
|00005740| 73 68 2d 62 75 74 74 6f | 6e 20 3a 6e 6f 74 69 66 |sh-butto|n :notif|
|00005750| 79 20 23 5b 28 26 72 65 | 73 74 20 69 67 6e 6f 72 |y #[(&re|st ignor|
|00005760| 65 29 20 22 c0 20 87 22 | 20 5b 70 68 2d 70 72 6f |e) ". ."| [ph-pro|
|00005770| 63 65 73 73 2d 66 6f 72 | 6d 5d 20 31 5d 20 22 51 |cess-for|m] 1] "Q|
|00005780| 75 65 72 79 20 53 65 72 | 76 65 72 22 20 22 20 22 |uery Ser|ver" " "|
|00005790| 20 23 5b 28 26 72 65 73 | 74 20 69 67 6e 6f 72 65 | #[(&res|t ignore|
|000057a0| 29 20 22 c0 20 87 22 20 | 5b 70 68 2d 71 75 65 72 |) ". ." |[ph-quer|
|000057b0| 79 2d 66 6f 72 6d 5d 20 | 31 5d 20 22 52 65 73 65 |y-form] |1] "Rese|
|000057c0| 74 20 46 6f 72 6d 22 20 | 23 5b 28 26 72 65 73 74 |t Form" |#[(&rest|
|000057d0| 20 69 67 6e 6f 72 65 29 | 20 22 c0 20 87 22 20 5b | ignore)| ". ." [|
|000057e0| 6b 69 6c 6c 2d 74 68 69 | 73 2d 62 75 66 66 65 72 |kill-thi|s-buffer|
|000057f0| 5d 20 31 5d 20 22 51 75 | 69 74 22 20 75 73 65 2d |] 1] "Qu|it" use-|
|00005800| 6c 6f 63 61 6c 2d 6d 61 | 70 20 77 69 64 67 65 74 |local-ma|p widget|
|00005810| 2d 6b 65 79 6d 61 70 20 | 77 69 64 67 65 74 2d 73 |-keymap |widget-s|
|00005820| 65 74 75 70 5d 20 37 20 | 28 23 24 20 2e 20 2d 32 |etup] 7 |(#$ . -2|
|00005830| 31 31 36 33 29 20 22 50 | 22 5d 29 0a 23 40 33 38 |1163) "P|"]).#@38|
|00005840| 20 41 64 64 20 53 45 52 | 56 45 52 20 74 6f 20 74 | Add SER|VER to t|
|00005850| 68 65 20 60 73 65 72 76 | 65 72 73 27 20 68 6f 74 |he `serv|ers' hot|
|00005860| 6c 69 73 74 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |list...(|defalias|
|00005870| 20 27 70 68 2d 62 6f 6f | 6b 6d 61 72 6b 2d 73 65 | 'ph-boo|kmark-se|
|00005880| 72 76 65 72 20 23 5b 28 | 73 65 72 76 65 72 29 20 |rver #[(|server) |
|00005890| 22 08 09 b6 ab 85 c2 c3 | 08 5c 22 87 08 09 42 11 |".......|.\"...B.|
|000058a0| c4 20 88 c5 20 87 22 20 | 5b 73 65 72 76 65 72 20 |. .. ." |[server |
|000058b0| 70 68 2d 73 65 72 76 65 | 72 2d 68 6f 74 6c 69 73 |ph-serve|r-hotlis|
|000058c0| 74 20 65 72 72 6f 72 20 | 22 25 73 20 69 73 20 61 |t error |"%s is a|
|000058d0| 6c 72 65 61 64 79 20 69 | 6e 20 74 68 65 20 68 6f |lready i|n the ho|
|000058e0| 74 6c 69 73 74 22 20 70 | 68 2d 69 6e 73 74 61 6c |tlist" p|h-instal|
|000058f0| 6c 2d 6d 65 6e 75 20 70 | 68 2d 73 61 76 65 2d 6f |l-menu p|h-save-o|
|00005900| 70 74 69 6f 6e 73 5d 20 | 33 20 28 23 24 20 2e 20 |ptions] |3 (#$ . |
|00005910| 32 32 35 39 33 29 20 22 | 73 53 65 72 76 65 72 3a |22593) "|sServer:|
|00005920| 20 22 5d 29 0a 23 40 34 | 36 20 41 64 64 20 63 75 | "]).#@4|6 Add cu|
|00005930| 72 72 65 6e 74 20 73 65 | 72 76 65 72 20 74 6f 20 |rrent se|rver to |
|00005940| 74 68 65 20 60 73 65 72 | 76 65 72 73 27 20 68 6f |the `ser|vers' ho|
|00005950| 74 6c 69 73 74 2e 1f 0a | 28 64 65 66 61 6c 69 61 |tlist...|(defalia|
|00005960| 73 20 27 70 68 2d 62 6f | 6f 6b 6d 61 72 6b 2d 63 |s 'ph-bo|okmark-c|
|00005970| 75 72 72 65 6e 74 2d 73 | 65 72 76 65 72 20 23 5b |urrent-s|erver #[|
|00005980| 6e 69 6c 20 22 c0 09 21 | 87 22 20 5b 70 68 2d 62 |nil "..!|." [ph-b|
|00005990| 6f 6f 6b 6d 61 72 6b 2d | 73 65 72 76 65 72 20 70 |ookmark-|server p|
|000059a0| 68 2d 73 65 72 76 65 72 | 5d 20 32 20 28 23 24 20 |h-server|] 2 (#$ |
|000059b0| 2e 20 32 32 38 32 36 29 | 20 6e 69 6c 5d 29 0a 23 |. 22826)| nil]).#|
|000059c0| 40 35 39 20 53 61 76 65 | 20 6f 70 74 69 6f 6e 73 |@59 Save| options|
|000059d0| 20 28 65 73 73 65 6e 74 | 69 61 6c 6c 79 20 74 68 | (essent|ially th|
|000059e0| 65 20 68 6f 74 6c 69 73 | 74 29 20 74 6f 20 70 68 |e hotlis|t) to ph|
|000059f0| 2d 6f 70 74 69 6f 6e 73 | 2d 66 69 6c 65 1f 0a 28 |-options|-file..(|
|00005a00| 64 65 66 61 6c 69 61 73 | 20 27 70 68 2d 73 61 76 |defalias| 'ph-sav|
|00005a10| 65 2d 6f 70 74 69 6f 6e | 73 20 23 5b 6e 69 6c 20 |e-option|s #[nil |
|00005a20| 22 8a c0 09 c2 5c 22 71 | 88 70 c3 89 1c 1d 1e 06 |"....\"q|.p......|
|00005a30| c7 c8 8d 88 65 64 61 ab | 84 c9 ca 21 88 6e ac 84 |....eda.|...!.n..|
|00005a40| c9 cb 21 88 c9 cc 21 88 | cd 0e 0e 21 88 c9 cf 21 |..!...!.|...!...!|
|00005a50| 88 0d ac 84 c9 d0 21 88 | d1 20 2c 87 22 20 5b 66 |......!.|. ,." [f|
|00005a60| 69 6e 64 2d 66 69 6c 65 | 2d 6e 6f 73 65 6c 65 63 |ind-file|-noselec|
|00005a70| 74 20 70 68 2d 6f 70 74 | 69 6f 6e 73 2d 66 69 6c |t ph-opt|ions-fil|
|00005a80| 65 20 74 20 6e 69 6c 20 | 73 65 74 71 2d 70 20 70 |e t nil |setq-p p|
|00005a90| 72 6f 76 69 64 65 2d 70 | 20 73 74 61 6e 64 61 72 |rovide-p| standar|
|00005aa0| 64 2d 6f 75 74 70 75 74 | 20 66 6f 75 6e 64 20 28 |d-output| found (|
|00005ab0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 c1 c2 8f 89 |byte-cod|e ".....|
|00005ac0| 1b 3c ab b6 0b 40 c4 61 | ab 93 0b 41 40 c5 61 ab |.<...@.a|...A@.a.|
|00005ad0| 8c 8a c6 20 88 60 29 60 | 7c 88 c7 16 08 0b 40 c9 |... .`)`||.....@.|
|00005ae0| 61 ab 8a 0b 41 40 ca 6b | ab 83 c7 16 0b 0e 0b ab |a...A@.k|........|
|00005af0| 89 0e 08 ab 85 cc cd c7 | 5c 22 88 29 aa 3e 22 20 |........|\".).>" |
|00005b00| 5b 6e 69 6c 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |[nil (by|te-code |
|00005b10| 22 c0 70 21 87 22 20 5b | 72 65 61 64 5d 20 32 29 |".p!." [|read] 2)|
|00005b20| 20 28 28 65 6e 64 2d 6f | 66 2d 66 69 6c 65 20 28 | ((end-o|f-file (|
|00005b30| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 c1 c2 5c 22 |byte-cod|e "...\"|
|00005b40| 87 22 20 5b 74 68 72 6f | 77 20 66 6f 75 6e 64 20 |." [thro|w found |
|00005b50| 6e 69 6c 5d 20 33 29 29 | 29 20 73 65 78 70 20 73 |nil] 3))|) sexp s|
|00005b60| 65 74 71 20 70 68 2d 73 | 65 72 76 65 72 2d 68 6f |etq ph-s|erver-ho|
|00005b70| 74 6c 69 73 74 20 62 61 | 63 6b 77 61 72 64 2d 73 |tlist ba|ckward-s|
|00005b80| 65 78 70 20 74 20 73 65 | 74 71 2d 70 20 70 72 6f |exp t se|tq-p pro|
|00005b90| 76 69 64 65 20 27 70 68 | 2d 6f 70 74 69 6f 6e 73 |vide 'ph|-options|
|00005ba0| 2d 66 69 6c 65 20 70 72 | 6f 76 69 64 65 2d 70 20 |-file pr|ovide-p |
|00005bb0| 74 68 72 6f 77 20 66 6f | 75 6e 64 5d 20 34 29 20 |throw fo|und] 4) |
|00005bc0| 70 72 69 6e 63 20 22 3b | 3b 20 54 68 69 73 20 66 |princ ";|; This f|
|00005bd0| 69 6c 65 20 77 61 73 20 | 61 75 74 6f 6d 61 74 69 |ile was |automati|
|00005be0| 63 61 6c 6c 79 20 67 65 | 6e 65 72 61 74 65 64 20 |cally ge|nerated |
|00005bf0| 62 79 20 70 68 2e 65 6c | 5c 6e 5c 6e 22 20 22 5c |by ph.el|\n\n" "\|
|00005c00| 6e 22 20 22 28 73 65 74 | 71 20 70 68 2d 73 65 72 |n" "(set|q ph-ser|
|00005c10| 76 65 72 2d 68 6f 74 6c | 69 73 74 20 27 22 20 70 |ver-hotl|ist '" p|
|00005c20| 72 69 6e 31 20 70 68 2d | 73 65 72 76 65 72 2d 68 |rin1 ph-|server-h|
|00005c30| 6f 74 6c 69 73 74 20 22 | 29 5c 6e 22 20 22 28 70 |otlist "|)\n" "(p|
|00005c40| 72 6f 76 69 64 65 20 27 | 70 68 2d 6f 70 74 69 6f |rovide '|ph-optio|
|00005c50| 6e 73 2d 66 69 6c 65 29 | 5c 6e 22 20 73 61 76 65 |ns-file)|\n" save|
|00005c60| 2d 62 75 66 66 65 72 5d | 20 33 20 28 23 24 20 2e |-buffer]| 3 (#$ .|
|00005c70| 20 32 32 39 38 30 29 20 | 6e 69 6c 5d 29 0a 23 40 | 22980) |nil]).#@|
|00005c80| 31 31 35 20 49 6e 73 65 | 72 74 20 72 65 63 6f 72 |115 Inse|rt recor|
|00005c90| 64 20 61 74 20 70 6f 69 | 6e 74 20 69 6e 74 6f 20 |d at poi|nt into |
|00005ca0| 74 68 65 20 42 42 44 42 | 20 64 61 74 61 62 61 73 |the BBDB| databas|
|00005cb0| 65 2e 0a 54 68 69 73 20 | 66 75 6e 63 74 69 6f 6e |e..This |function|
|00005cc0| 20 63 61 6e 20 6f 6e 6c | 79 20 62 65 20 63 61 6c | can onl|y be cal|
|00005cd0| 6c 65 64 20 66 72 6f 6d | 20 61 20 50 48 2f 51 49 |led from| a PH/QI|
|00005ce0| 20 71 75 65 72 79 20 72 | 65 73 75 6c 74 20 62 75 | query r|esult bu|
|00005cf0| 66 66 65 72 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |ffer...(|defalias|
|00005d00| 20 27 70 68 2d 69 6e 73 | 65 72 74 2d 72 65 63 6f | 'ph-ins|ert-reco|
|00005d10| 72 64 2d 61 74 2d 70 6f | 69 6e 74 2d 69 6e 74 6f |rd-at-po|int-into|
|00005d20| 2d 62 62 64 62 20 23 5b | 6e 69 6c 20 22 c0 60 21 |-bbdb #[|nil ".`!|
|00005d30| ad 87 c1 c0 60 21 40 c2 | 5c 22 89 1b ac 85 c4 c5 |....`!@.|\"......|
|00005d40| 21 aa 83 c6 0b 21 29 87 | 22 20 5b 6f 76 65 72 6c |!....!).|" [overl|
|00005d50| 61 79 73 2d 61 74 20 6f | 76 65 72 6c 61 79 2d 67 |ays-at o|verlay-g|
|00005d60| 65 74 20 70 68 2d 72 65 | 63 6f 72 64 20 72 65 63 |et ph-re|cord rec|
|00005d70| 6f 72 64 20 65 72 72 6f | 72 20 22 50 6f 69 6e 74 |ord erro|r "Point|
|00005d80| 20 69 73 20 6e 6f 74 20 | 6f 76 65 72 20 61 20 72 | is not |over a r|
|00005d90| 65 63 6f 72 64 2e 22 20 | 70 68 2d 63 72 65 61 74 |ecord." |ph-creat|
|00005da0| 65 2d 62 62 64 62 2d 72 | 65 63 6f 72 64 5d 20 34 |e-bbdb-r|ecord] 4|
|00005db0| 20 28 23 24 20 2e 20 32 | 33 36 38 34 29 20 6e 69 | (#$ . 2|3684) ni|
|00005dc0| 6c 5d 29 0a 23 40 35 37 | 20 43 61 6c 6c 20 70 68 |l]).#@57| Call ph|
|00005dd0| 2d 69 6e 73 65 72 74 2d | 72 65 63 6f 72 64 2d 61 |-insert-|record-a|
|00005de0| 74 2d 70 6f 69 6e 74 2d | 69 6e 74 6f 2d 62 62 64 |t-point-|into-bbd|
|00005df0| 62 20 69 66 20 6f 6e 20 | 61 20 72 65 63 6f 72 64 |b if on |a record|
|00005e00| 1f 0a 28 64 65 66 61 6c | 69 61 73 20 27 70 68 2d |..(defal|ias 'ph-|
|00005e10| 74 72 79 2d 62 62 64 62 | 2d 69 6e 73 65 72 74 20 |try-bbdb|-insert |
|00005e20| 23 5b 6e 69 6c 20 22 c0 | c1 21 ac 89 c2 c3 21 c4 |#[nil ".|.!....!.|
|00005e30| c5 21 88 ad 90 c6 60 21 | ad 8b c7 c6 60 21 40 c8 |.!....`!|....`!@.|
|00005e40| 5c 22 ad 82 c9 20 87 22 | 20 5b 66 65 61 74 75 72 |\"... ."| [featur|
|00005e50| 65 70 20 62 62 64 62 20 | 6c 6f 63 61 74 65 2d 6c |ep bbdb |locate-l|
|00005e60| 69 62 72 61 72 79 20 22 | 62 62 64 62 22 20 6d 65 |ibrary "|bbdb" me|
|00005e70| 73 73 61 67 65 20 22 22 | 20 6f 76 65 72 6c 61 79 |ssage ""| overlay|
|00005e80| 73 2d 61 74 20 6f 76 65 | 72 6c 61 79 2d 67 65 74 |s-at ove|rlay-get|
|00005e90| 20 70 68 2d 72 65 63 6f | 72 64 20 70 68 2d 69 6e | ph-reco|rd ph-in|
|00005ea0| 73 65 72 74 2d 72 65 63 | 6f 72 64 2d 61 74 2d 70 |sert-rec|ord-at-p|
|00005eb0| 6f 69 6e 74 2d 69 6e 74 | 6f 2d 62 62 64 62 5d 20 |oint-int|o-bbdb] |
|00005ec0| 33 20 28 23 24 20 2e 20 | 32 34 30 30 39 29 20 6e |3 (#$ . |24009) n|
|00005ed0| 69 6c 5d 29 0a 23 40 36 | 31 20 4d 6f 76 65 20 74 |il]).#@6|1 Move t|
|00005ee0| 6f 20 6e 65 78 74 20 72 | 65 63 6f 72 64 20 69 6e |o next r|ecord in|
|00005ef0| 20 61 20 62 75 66 66 65 | 72 20 64 69 73 70 6c 61 | a buffe|r displa|
|00005f00| 79 69 6e 67 20 70 68 20 | 71 75 65 72 79 20 72 65 |ying ph |query re|
|00005f10| 73 75 6c 74 73 1f 0a 28 | 64 65 66 61 6c 69 61 73 |sults..(|defalias|
|00005f20| 20 27 70 68 2d 6d 6f 76 | 65 2d 74 6f 2d 6e 65 78 | 'ph-mov|e-to-nex|
|00005f30| 74 2d 72 65 63 6f 72 64 | 20 23 5b 6e 69 6c 20 22 |t-record| #[nil "|
|00005f40| 08 c1 61 ac 84 c2 c3 21 | 87 c4 60 21 89 1d 64 57 |..a....!|..`!..dW|
|00005f50| ab 85 0d 54 62 aa 83 c2 | c6 21 29 87 22 20 5b 6d |...Tb...|.!)." [m|
|00005f60| 61 6a 6f 72 2d 6d 6f 64 | 65 20 70 68 2d 6d 6f 64 |ajor-mod|e ph-mod|
|00005f70| 65 20 65 72 72 6f 72 20 | 22 4e 6f 74 20 69 6e 20 |e error |"Not in |
|00005f80| 61 20 50 48 20 62 75 66 | 66 65 72 22 20 6e 65 78 |a PH buf|fer" nex|
|00005f90| 74 2d 6f 76 65 72 6c 61 | 79 2d 63 68 61 6e 67 65 |t-overla|y-change|
|00005fa0| 20 70 74 20 22 4e 6f 20 | 6d 6f 72 65 20 72 65 63 | pt "No |more rec|
|00005fb0| 6f 72 64 73 20 61 66 74 | 65 72 20 70 6f 69 6e 74 |ords aft|er point|
|00005fc0| 22 5d 20 33 20 28 23 24 | 20 2e 20 32 34 32 38 32 |"] 3 (#$| . 24282|
|00005fd0| 29 20 6e 69 6c 5d 29 0a | 23 40 36 31 20 4d 6f 76 |) nil]).|#@61 Mov|
|00005fe0| 65 20 74 6f 20 6e 65 78 | 74 20 72 65 63 6f 72 64 |e to nex|t record|
|00005ff0| 20 69 6e 20 61 20 62 75 | 66 66 65 72 20 64 69 73 | in a bu|ffer dis|
|00006000| 70 6c 61 79 69 6e 67 20 | 70 68 20 71 75 65 72 79 |playing |ph query|
|00006010| 20 72 65 73 75 6c 74 73 | 1f 0a 28 64 65 66 61 6c | results|..(defal|
|00006020| 69 61 73 20 27 70 68 2d | 6d 6f 76 65 2d 74 6f 2d |ias 'ph-|move-to-|
|00006030| 70 72 65 76 69 6f 75 73 | 2d 72 65 63 6f 72 64 20 |previous|-record |
|00006040| 23 5b 6e 69 6c 20 22 08 | c1 61 ac 84 c2 c3 21 87 |#[nil ".|.a....!.|
|00006050| c4 60 21 89 1d 65 56 ab | 84 0d 62 aa 83 c2 c6 21 |.`!..eV.|..b....!|
|00006060| 29 87 22 20 5b 6d 61 6a | 6f 72 2d 6d 6f 64 65 20 |)." [maj|or-mode |
|00006070| 70 68 2d 6d 6f 64 65 20 | 65 72 72 6f 72 20 22 4e |ph-mode |error "N|
|00006080| 6f 74 20 69 6e 20 61 20 | 50 48 20 62 75 66 66 65 |ot in a |PH buffe|
|00006090| 72 22 20 70 72 65 76 69 | 6f 75 73 2d 6f 76 65 72 |r" previ|ous-over|
|000060a0| 6c 61 79 2d 63 68 61 6e | 67 65 20 70 74 20 22 4e |lay-chan|ge pt "N|
|000060b0| 6f 20 6d 6f 72 65 20 72 | 65 63 6f 72 64 73 20 62 |o more r|ecords b|
|000060c0| 65 66 6f 72 65 20 70 6f | 69 6e 74 22 5d 20 33 20 |efore po|int"] 3 |
|000060d0| 28 23 24 20 2e 20 32 34 | 35 34 31 29 20 6e 69 6c |(#$ . 24|541) nil|
|000060e0| 5d 29 0a 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c0 |]).(byte|-code ".|
|000060f0| c1 21 88 c2 c3 21 ac aa | c4 20 1d c6 0d c7 c8 23 |.!...!..|. .....#|
|00006100| 88 c6 0d c9 c8 23 88 c6 | 0d ca cb 23 88 c6 0d cc |.....#..|...#....|
|00006110| cd 23 88 c6 0d ce cf 23 | 88 c6 0d d0 d1 23 88 0d |.#.....#|.....#..|
|00006120| 29 13 c3 0e 12 42 16 12 | d3 0b 0e 14 5c 22 88 d5 |)....B..|....\"..|
|00006130| d6 d7 89 23 d5 d8 cb d9 | 23 d5 da db d9 23 d5 dc |...#....|#....#..|
|00006140| dd de 23 d5 d6 d7 89 23 | d5 df e0 d9 23 d5 e1 e2 |..#....#|....#...|
|00006150| d9 23 d5 e3 e4 d9 23 d5 | d6 d7 89 23 e5 e6 e7 21 |.#....#.|...#...!|
|00006160| 41 42 af 5c 6e 16 28 e8 | 0e 12 42 16 12 e9 16 2a |AB.\n.(.|..B....*|
|00006170| ea 0e 12 42 16 12 d7 87 | 22 20 5b 72 65 71 75 69 |...B....|" [requi|
|00006180| 72 65 20 65 61 73 79 6d | 65 6e 75 20 62 6f 75 6e |re easym|enu boun|
|00006190| 64 70 20 70 68 2d 6d 6f | 64 65 2d 6d 61 70 20 6d |dp ph-mo|de-map m|
|000061a0| 61 6b 65 2d 73 70 61 72 | 73 65 2d 6b 65 79 6d 61 |ake-spar|se-keyma|
|000061b0| 70 20 6d 61 70 20 64 65 | 66 69 6e 65 2d 6b 65 79 |p map de|fine-key|
|000061c0| 20 22 71 22 20 6b 69 6c | 6c 2d 74 68 69 73 2d 62 | "q" kil|l-this-b|
|000061d0| 75 66 66 65 72 20 22 78 | 22 20 22 66 22 20 70 68 |uffer "x|" "f" ph|
|000061e0| 2d 71 75 65 72 79 2d 66 | 6f 72 6d 20 22 62 22 20 |-query-f|orm "b" |
|000061f0| 70 68 2d 74 72 79 2d 62 | 62 64 62 2d 69 6e 73 65 |ph-try-b|bdb-inse|
|00006200| 72 74 20 22 6e 22 20 70 | 68 2d 6d 6f 76 65 2d 74 |rt "n" p|h-move-t|
|00006210| 6f 2d 6e 65 78 74 2d 72 | 65 63 6f 72 64 20 22 70 |o-next-r|ecord "p|
|00006220| 22 20 70 68 2d 6d 6f 76 | 65 2d 74 6f 2d 70 72 65 |" ph-mov|e-to-pre|
|00006230| 76 69 6f 75 73 2d 72 65 | 63 6f 72 64 20 63 75 72 |vious-re|cord cur|
|00006240| 72 65 6e 74 2d 6c 6f 61 | 64 2d 6c 69 73 74 20 73 |rent-loa|d-list s|
|00006250| 65 74 2d 6b 65 79 6d 61 | 70 2d 70 61 72 65 6e 74 |et-keyma|p-parent|
|00006260| 20 77 69 64 67 65 74 2d | 6b 65 79 6d 61 70 20 76 | widget-|keymap v|
|00006270| 65 63 74 6f 72 20 22 2d | 2d 2d 22 20 6e 69 6c 20 |ector "-|--" nil |
|00006280| 22 51 75 65 72 79 20 46 | 6f 72 6d 22 20 74 20 22 |"Query F|orm" t "|
|00006290| 45 78 70 61 6e 64 20 49 | 6e 6c 69 6e 65 22 20 70 |Expand I|nline" p|
|000062a0| 68 2d 65 78 70 61 6e 64 | 2d 69 6e 6c 69 6e 65 20 |h-expand|-inline |
|000062b0| 22 49 6e 73 65 72 74 20 | 52 65 63 6f 72 64 20 69 |"Insert |Record i|
|000062c0| 6e 74 6f 20 42 42 44 42 | 22 20 70 68 2d 69 6e 73 |nto BBDB|" ph-ins|
|000062d0| 65 72 74 2d 72 65 63 6f | 72 64 2d 61 74 2d 70 6f |ert-reco|rd-at-po|
|000062e0| 69 6e 74 2d 69 6e 74 6f | 2d 62 62 64 62 20 28 61 |int-into|-bbdb (a|
|000062f0| 6e 64 20 28 6f 72 20 28 | 66 65 61 74 75 72 65 70 |nd (or (|featurep|
|00006300| 20 27 62 62 64 62 29 20 | 28 70 72 6f 67 31 20 28 | 'bbdb) |(prog1 (|
|00006310| 6c 6f 63 61 74 65 2d 6c | 69 62 72 61 72 79 20 22 |locate-l|ibrary "|
|00006320| 62 62 64 62 22 29 20 28 | 6d 65 73 73 61 67 65 20 |bbdb") (|message |
|00006330| 22 22 29 29 29 20 28 6f | 76 65 72 6c 61 79 73 2d |""))) (o|verlays-|
|00006340| 61 74 20 28 70 6f 69 6e | 74 29 29 20 28 6f 76 65 |at (poin|t)) (ove|
|00006350| 72 6c 61 79 2d 67 65 74 | 20 28 63 61 72 20 28 6f |rlay-get| (car (o|
|00006360| 76 65 72 6c 61 79 73 2d | 61 74 20 28 70 6f 69 6e |verlays-|at (poin|
|00006370| 74 29 29 29 20 27 70 68 | 2d 72 65 63 6f 72 64 29 |t))) 'ph|-record)|
|00006380| 29 20 22 47 65 74 20 45 | 6d 61 69 6c 22 20 70 68 |) "Get E|mail" ph|
|00006390| 2d 67 65 74 2d 65 6d 61 | 69 6c 20 22 47 65 74 20 |-get-ema|il "Get |
|000063a0| 50 68 6f 6e 65 22 20 70 | 68 2d 67 65 74 2d 70 68 |Phone" p|h-get-ph|
|000063b0| 6f 6e 65 20 22 4c 69 73 | 74 20 56 61 6c 69 64 20 |one "Lis|t Valid |
|000063c0| 46 69 65 6c 64 20 4e 61 | 6d 65 73 22 20 70 68 2d |Field Na|mes" ph-|
|000063d0| 67 65 74 2d 66 69 65 6c | 64 2d 6c 69 73 74 20 22 |get-fiel|d-list "|
|000063e0| 43 75 73 74 6f 6d 69 7a | 65 22 20 63 75 73 74 6f |Customiz|e" custo|
|000063f0| 6d 2d 6d 65 6e 75 2d 63 | 72 65 61 74 65 20 70 68 |m-menu-c|reate ph|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.